MySQL 的 AUTO_INCREMENT
功能自動分配順序主鍵。 但是,刪除行並不總是重置計數器,從而導致序列中出現間隙。 下一個插入的行可能會收到比預期更高的 ID。
刪除一行會釋放其主鍵,但 MySQL 的 AUTO_INCREMENT
計數器不會自動倒回。它從最高分配值開始。
強烈建議不要依賴 AUTO_INCREMENT
來取得回收的主鍵。這可能會導致數據不一致。 更好的選擇包括:
INSERT
語句手動指派值。 如果您必須維持順序(儘管強烈建議不要這樣做),您可以手動重置AUTO_INCREMENT
計數器。這是有風險的,可能會損害資料庫完整性:
TRUNCATE TABLE
清除表格。 AUTO_INCREMENT
重設為 1。 雖然連續的 AUTO_INCREMENT
序列似乎是可取的,但透過建議的實踐優先考慮資料完整性至關重要。
以上是為什麼刪除行後 MySQL 的 AUTO_INCREMENT 序列會被打亂?的詳細內容。更多資訊請關注PHP中文網其他相關文章!