InnoDB 重複鍵自增增量問題
在主鍵設定為自增的InnoDB 資料庫表中,它是觀察到即使偵測到重複鍵,自動遞增計數器也會繼續遞增。此行為會導致 ID 不連續,如提供的範例所示。若要解決此問題,請考慮實作下列解決方案:
修改 MySQL 設定
透過將 innodb_autoinc_lock_mode 設定選項設為「0”,可以切換到傳統的自增鎖模式。此模式可確保所有 INSERT 語句都會將連續的值指派給自動遞增列,即使在嘗試插入重複鍵時也是如此。
SET GLOBAL innodb_autoinc_lock_mode = 0;
需要注意的是,連續任何應用程式邏輯都不應依賴 ID。它們的主要目的是為每筆記錄提供唯一的識別碼。雖然連續的 ID 可能在美觀上令人愉悅,但它們不會提供任何實際好處,並且可能會導致分散式系統出現問題。
以上是為什麼我的 InnoDB 自動遞增計數器儘管有重複的按鍵仍不斷遞增?的詳細內容。更多資訊請關注PHP中文網其他相關文章!