2011-01-10 99 views
0

我有一個關於自動編號的問題,例如,我在表格「產品」的表格字段「Id」中插入一條記錄。我輸入3個字段的「id」爲1.2,3.當我刪除fied爲3時,那麼我再次輸入更新的字段是4,而不是3.如何記錄是3而不是4自動編號問題

回答

7

這是設計。一次使用過的標識符永遠不能用於其他記錄。如果表之間存在關係,可能會導致數據損壞問題 - 記錄可能突然指向原始表中的完全不相關的記錄。

參考:3.6.9. Using AUTO_INCREMENT

+1

您應該將auto_number字段視爲指針引用,而不再是其他內容。它是獨一無二的,不應該被重複或覆蓋,除非你真的希望它被另一個很少發生的引用指向。你通常更新FOREIGN鍵,而不是主鍵 – sethvargo 2011-01-10 02:28:37

0

您可以運行查詢:ALTER TABLE tablename AUTO_INCREMENT = 1

這將重置自動遞增的開始位置,因此,當你再次插入記錄時,它會採取ID 3.

您可能會感興趣這個link。它非常短而且連貫。

+0

由於@Pekka上面提到的原因,這是一個非常糟糕的主意。如果你這樣做,你會失去所有的數據完整性。 – sethvargo 2011-01-10 02:27:18