This question already has answers here:
Duplicate entry '2147483647' for key 1
(12个答案)
三年前关闭。
在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”的重复条目[duplicate],我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34732491/

10-12 03:16