Mysql

獲取自動增量列的重複主鍵

  • April 30, 2015

我有一個 MySQL Innodb 表,其中 ‘id’ 作為自動增量主鍵列。

我的腳本正在執行以下操作:

  1. 將忽略插入表名集 x=‘a’, y=‘b’
  2. 更新忽略表名 set x=‘a’, y=‘b’ where id = ‘smthing’
  3. 從 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

引用自:https://dba.stackexchange.com/questions/14170