标签:mysql-error-1062 php mysql pdo auto-increment
我有一张电子邮件表.
自动递增ID的最后一条记录是3780,这是合法记录.我现在插入的所有新记录都将插入到那里.
但是,在我的日志中,偶尔会有:
Query FAIL: INSERT INTO mail.messages (timestamp_queue) VALUES (:time);
Array
(
[0] => 23000
[1] => 1062
[2] => Duplicate entry '4294967295' for key 1
)
不知何故,自动增量跃升到INT最大4294967295
为什么在上帝的绿色地球上这会跳得那么高?我没有带有ID字段的插入内容.
该表的显示状态Auto_increment表现在显示为:4294967296
这样的事情怎么会发生?我意识到id字段可能应该是一个很大的整数,但是我担心的是,这件事会以某种方式跳回去.
玩笑
编辑:更新
mysql 5.0.45版本红帽补丁
由于我将ID设置为BIGINT,因此最后几个ID如下所示:
3777
3778
3779
3780
4294967295
4294967296
4294967297
4294967298
4294967299
4294967300
如您所见,它们是增量的,没有间隙(到目前为止).完全奇怪
解决方法:
我在使用完全相同的数字时遇到了同样的问题.我的问题是,当我将其更改为bigint(20)时,我在int(10)上具有该字段,因此可以解决我的问题.
如果其他人有这个问题.首先检查您的字段大小.
标签:mysql-error-1062,php,mysql,pdo,auto-increment 来源: https://codeday.me/bug/20191012/1901555.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。