我是新來的整個數據庫場景,只是學習。我有一個數據庫MySQL,我使用phpmyadmin來編輯字段等。我創建了一個auto_incremenet'id'字段,它被設置爲主要字段。如果我添加5個字段,該ID將是'1,2,3,4,5'。如果我刪除所有這些字段並添加另外5個字段,爲什麼ID會變成'6,7,8,9,10'? (而不是回到0,因爲技術上其他領域不再存在,所以它的獨特權利?)。有沒有辦法讓ID順序數字? 1,2,3,4,5?當你從數據庫中刪除一條記錄時mysql
3
A
回答
5
你不需要擔心它。你的主鍵應該是一個unsigned int,它可以保存足夠多的數字。
0
1
我相信會發生這種情況,因爲在使用關係數據庫系統時,通常可以通過它們的id將行連接到其他行。如果你開始重新使用ID,那麼你可能會陷入混亂的境地。
可以重置AUTO_INCREMENT計數器任何你想使用下面的查詢:
ALTER TABLE tableName AUTO_INCREMENT=123
如果要刪除表中的所有行,你可以使用TRUNCATE這也將重置計數器。
TRUNCATE TABLE tableName
0
你將不得不重置自動增量,這樣你就可以重新編號auto_incremented值,此處詳細瞭解http://www.dbuggr.com/milly/reset-auto-increment-mysql/的解決方案。
1
我認爲這種行爲的主要原因是效率,這意味着MySQL不需要跟蹤哪些數字沒有被使用,它只需要知道哪個數字是最後使用的。
相關問題
- 1. 從MySQL數據庫中刪除一條記錄
- 2. 從mysql數據庫的所有表中刪除一條記錄
- 3. 從MySQL數據庫中刪除記錄
- 4. 當用戶點擊alertview時從sqlite數據庫中刪除一條記錄
- 5. 在mysql數據庫中只刪除一條記錄
- 6. Angular從數據庫中刪除一條記錄
- 7. 從數組中刪除一條記錄
- 8. 從Access數據庫中刪除記錄,刪除時出錯
- 9. Vaadin從數據庫中刪除記錄
- 10. 從數據庫中刪除記錄
- 11. 從數據庫中刪除記錄
- 12. 從數據庫中刪除記錄
- 13. 從數據庫中刪除記錄
- 14. 從數據庫中刪除多條記錄
- 15. 使用UITableView和核心數據從數據庫中刪除一條記錄
- 16. 從gridview刪除記錄,但不是從數據庫中刪除記錄
- 17. 使用_GET URL鏈接從mysql數據庫中刪除記錄
- 18. 從sqlite數據庫刪除記錄
- 19. 刪除聊天記錄從數據庫
- 20. 從MDF數據庫刪除記錄
- 21. 從MySQL數據庫中刪除一行
- 22. PHP從數據庫中刪除所有記錄+選擇當前記錄
- 23. 如何從MySQL數據庫中選擇一條隨機記錄?
- 24. 從MySQL數據庫中選擇一條記錄
- 25. 如何我暫時從我的數據庫中刪除記錄?
- 26. 上傳文件時從數據庫中刪除的記錄
- 27. 從數據庫中刪除記錄時的最佳做法
- 28. 面臨錯誤,同時從sqlite數據庫中刪除記錄
- 29. 如何從mysql數據庫刪除舊記錄
- 30. 當滿足條件時從連接表中刪除記錄
主鍵只能使用一次......因此,即使刪除了一條記錄,PK也不會重新分配給新記錄。 –
如果你確實需要跟蹤諸如「InUseID」之類的東西,你需要一個獨立的字段,並且清除它與主鍵「ID」不一樣 – Matt