php - 报错 1062:键'PRIMARY”的重复条目'4294967295”
漂亮男人
漂亮男人 2017-06-17 09:15:21
0
3
1035

我数据库这个数据才几十万条 主键是 int 11 然后以前能插入 现在插入 就会报这个错误
求解答 谢谢

漂亮男人
漂亮男人

全部回复(3)
左手右手慢动作

首先说讲清楚几个概念

  1. int(11) 和int(3) 存储的值的最终大小是一样的,这个3和11 是在终端显示的时候数字长度,和存储数字大小和长度无关

  2. 11万的数据,你的主键应该不是步长加1,或者你id也可能不是自增0开始的。

  3. 还有楼上的已经说清楚原因,说是主键的值重复,那就先去数据库找找这条记录,然后再看看 10多万的数据,怎么主键到了4294967295

  4. 2的32次方=4294967296(无符号),带符号再除以2,负数比正数多一个,-2147483648~+2147483647 int型无符号 4294967296 最大值

世界只因有你

这说是键重复了,试试这个,不保证有用····
step 1: select max(your primary_key_field) from your_table_name;
step 2: ALTER TABLE your_table_name AUTO_INCREMENT = value_u_got_from_step1 + 1;

洪涛

id自增已达上限,再插入数据也只能插入这个id值,所以才会冲突,改成bigint类型即可,十几万数据就自增到这个值,你要检查一下你的自增规则和业务逻辑,否则按你的速度很快还会到上限

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!