我有一个带有“ ID”作为自动增量主键列的MySQL InnoDB表。

我的脚本正在执行以下操作:

  1. 插入忽略tablename集合x ='a',y ='b'
  2. 更新忽略tableName集x ='a',y ='b'其中id ='smthing'
  3. 从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

许可以下: CC-BY-SA归因
不隶属于 dba.stackexchange
scroll top