我有一个 MySQL Innodb 表,其中 'id' 作为自动增量主键列。
我的脚本正在执行以下操作:
- 将忽略插入表名集 x='a', y='b'
- 更新忽略表名 set x='a', y='b' where id = 'smthing'
- 从 id = 'smthing' 的表名中删除
现在,当我手动插入某些内容(插入表名集 x='ax',y='bx')运行脚本后,我收到以下错误:
Duplicate Entry for Auto Increment Value.
在检查时,我看到 Auto Increment 正在尝试将 MySql 将支持的 int 的最高值设置为新值,并且它已经存在于 db 中。
该表有两个索引:id+x, id+y 虽然 idk 如果这与此问题有关。
我达到了 int 列的最大可能值。通过更改表和设置比 int 大的 int 解决了问题。
MIDINT 的有符号范围是 –8388608 到 8388607。无符号范围是 0 到 16777215
参考: http ://help.scibit.com/mascon/masconMySQL_Field_Types.html