我在 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中手动传递此查询会显示完全相同的错误。
发生了什么事?
答案 0 :(得分:2)
2147483647是最大int值。要使用更大的数字,您需要将其声明为bigint。