获取自动增量列的重复主键
-
16-10-2019 - |
题
我有一个带有“ ID”作为自动增量主键列的MySQL InnoDB表。
我的脚本正在执行以下操作:
- 插入忽略tablename集合x ='a',y ='b'
- 更新忽略tableName集x ='a',y ='b'其中id ='smthing'
- 从tablename中删除id ='smthing'
现在,当我手动插入某些内容时(插入tablename SET x ='ax',y ='bx')后,我会收到以下错误:
Duplicate Entry for Auto Increment Value.
在检查时,我看到自动增量正在尝试将MySQL的最高可能值作为新值支持,并且它已经存在于DB中。
该表有两个索引:ID+X,ID+Y,如果与此问题有关,则IDK。
解决方案
我达到了int列的最大值。通过更改表和设置BIG INT来解决问题。
Midint的签名范围是–8388608至8388607。未签名范围为0至16777215
参考: http://help.scibit.com/mascon/masconmysql_field_types.html
不隶属于 dba.stackexchange