300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > Duplicate entry ‘2147483647‘ for key ‘PRIMARY

Duplicate entry ‘2147483647‘ for key ‘PRIMARY

时间:2024-07-09 16:20:17

相关推荐

Duplicate entry ‘2147483647‘ for key ‘PRIMARY

背景

最近在测试的时候,测试环境突然报错了,这个报错在实际的开发中还是比较熟悉的。遇见问题那就解决问题呗。

原因

由于这个报错,导致新插入的数据都存储失败,在查看数据库表以后发现有条数据的主键id值是2147483647,2147483647 是32位操作系统中最大的符号型整型常量。所以再次插入数据的时候会一直报这个数的主键冲突。

解决方案

方法一:重设表的自增值

alter table tableName AUTO_INCREMENT=0;

方法二:修改id的数据类型

把id的int类型改成了bigint,bigint的数据范围比较大。

知识补充-MySQL的数据类型

TINYINT[(M)] [UNSIGNED] [ZEROFILL]

一个很小的整数。有符号的范围是-128到127,无符号的范围是0到255

SMALLINT[(M)] [UNSIGNED] [ZEROFILL]

一个小整数。有符号的范围是-32768到32767,无符号的范围是0到65535。

MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL]

一个中等大小整数。有符号的范围是-8388608到8388607,无符号的范围是0到16777215。

INT[(M)] [UNSIGNED] [ZEROFILL]

一个正常大小整数。有符号的范围是-2147483648到2147

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。