Jquery中文网 www.jquerycn.cn
Jquery中文网 >  数据库  >  mysql  >  正文 mysql报错#1062 Duplicate entry ‘2147483647’ for key ‘PRIMARY’

mysql报错#1062 Duplicate entry ‘2147483647’ for key ‘PRIMARY’

发布时间:2017-12-13   编辑:www.jquerycn.cn
jquery中文网为您提供mysql报错#1062 Duplicate entry ‘2147483647’ for key ‘PRIMARY’等资源,欢迎您收藏本站,我们将为您提供最新的mysql报错#1062 Duplicate entry ‘2147483647’ for key ‘PRIMARY’资源
本文章来为各位介绍mysql报错#1062 ? Duplicate entry ‘2147483647’ for key ‘PRIMARY’问题了希望文章能够帮助到各位朋友了。


实际上本次故障的素材来自于朋友的朋友,虽然我并不是故障的亲身经历者,但即便只是作为旁观者,依然感觉有所收获,于是乎记录下来以馈读者。


故障的来龙去脉大致是这样的:在一个月黑风高的晚上,苦逼的程序员被一阵急促的报警短信声惊醒,原来是数据库的某个表出问题了,虽然查询操作都正常,但创建操作却都失败了,经过调试,发现原因是表被插入了一行问题数据,其自增字段的值被显式的设置为整型的最大值,导致后续缺省插入的数据不能获取到一个合法的主键值。

我们不妨创建一个测试表说明问题:

CREATE TABLE IF NOT EXISTS `test` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(100) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB;

然后插入一行问题数据:

INSERT INTO test (id, name) VALUES (2147483647, 'x');

结果导致不能执行正常的插入语句:

INSERT INTO test (name) VALUES ('y');

此时数据库会报错:

#1062

您可能感兴趣的文章:
mysql报错#1062 Duplicate entry ‘2147483647’ for key ‘PRIMARY’
1062 - Duplicate entry 33 for key 1
学习MySQL事务控制语句的用法
mysql 6G数据库的导入报错的解决办法
mysql load data infile (40w数据 3-5秒导入mysql)
mysql call用法:调用另一个存储过程传递错误代码
MySQL数据库replace into 用法(insert into 的增强版)
sql实现插入数据主键重复或数据已经存在,则更新这条数据
深入mysql “ON DUPLICATE KEY UPDATE” 语法的分析
mysql 有就插入没有就更新 on DUPLICATE key update批量更新

[关闭]