我有一张电子邮件表。
自动增量 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
如您所见,它们是增量的,没有间隙(到目前为止)。完全奇怪。