php - MysQL 忽略 int 值 - 键 'PRIMARY' 的重复条目

标签 php mysql mysqli insert

<分区>

我在向 MyISAM 表 中插入一行时遇到了最奇怪的问题。

insert into mytable (id, status, code) values (2534480091, 0, '253448009')

#1062 - 键“PRIMARY”的重复条目“2147483647”

id 应该为 2534480091 插入 id 2147483647 是从哪里来的?在运行此查询之前,我已确保该 ID 可用:

select id from mytable where id = 2534480091 limit 1;"

结构

`id` int(11) NOT NULL AUTO_INCREMENT,
`status` tinyint(1) NOT NULL,
`code` varchar(64) NOT NULL,

索引

PRIMARY KEY (`id`),
KEY `status` (`status`),
KEY `code` (`code`),

我尝试过截断表格,检查错误并修复它。似乎没有任何效果。

背后的PHP代码没有任何问题。在 phpMyAdmin 中手动传递此查询会显示完全相同的错误。

这是怎么回事?

最佳答案

2147483647 是最大的 int 值。要使用更大的数字,您需要将其声明为 bigint。

关于php - MysQL 忽略 int 值 - 键 'PRIMARY' 的重复条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34732491/

相关文章:

php - 将 SQL 列中的每个项目选择到一个数组中,PHP

javascript - 如何在php codeigniter中修复DataTables分页和搜索框?

php - 克隆和传递引用的问题

php - 排列 - 所有可能的数字集

php - 如何使用 PHP 在另一台 PC 上写入文件 txt?

MySQL 按情况排序日期 ASC/DESC

php - Yii2 事务 - 更新先前未提交的值加上新的提交值?

php - mysql更新查询以使用另一个表的id设置字段

php - mySQL 查询中的 & 符号会切断剩余值

php - 查明该列是否支持 mysqli 中的 "Null"值