Mysql
獲取自動增量列的重複主鍵
我有一個 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