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

时间:2016-01-11 22:41:29

标签: 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中手动传递此查询会显示完全相同的错误。

发生了什么事?

1 个答案:

答案 0 :(得分:2)

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