我有有自動遞增ID
-column,因爲它是主鍵,但正在運行的表進入'問題',每當key
被刪除時,就會產生差距。這當然不是問題,但它看起來不太整齊。有沒有簡單的方法讓MySQL使用第一個可用的未使用的ID
號碼,而不是sequence
中的'下一個'號碼?我希望我的問題有道理。
Q
利用未使用的主鍵
1
A
回答
4
你想完成什麼,恕我直言,不是一個好主意。考慮到這一點;還有其他Table
可能與您剛剛刪除的primary key
相關聯。
假設您有與相關的其他表中的現有值刪除primary key
: 當您插入與從空隙中primary key
新的項目,你將有那麼值了與其他相關表。你不會想要的。除非當然,如果你清除ALL當你刪除主鍵,這是很多工作。 Delete Cascade
可能還不夠。
+0
當系統從第一個密鑰刪除時,我的系統已經自動刪除對某個密鑰的所有引用。 – user1105971
1
不帶自動增量。如果你真的想要,你可以改變你的INSERT來特別插入id,並將其設置爲類似於1+(select max(id) from your_table_name)
的東西,儘管如果在使用表時沒有行時,你可能需要稍微修改它以正確運行。如果你這樣做,確保它是一個插入查詢的一部分,而不是一個插入後跟一個插入。
但你爲什麼要擔心「整潔」?如果你想用連續的數字來顯示東西,只要用其他方式來做,不要顯示ID。
相關問題
- 1. 使用主鍵
- 2. 流利Nhibernate HasMany非主鍵
- 3. 當使用流利NHibernate和AsList()時指定主鍵
- 4. 利用輸入鍵
- 5. Redshift:是否使用必要的外鍵來利用分配鍵?
- 6. 使用SAS的主鍵
- 7. 流利的NHibernate,HasManytoMany和主鍵問題
- 8. mysql的不充分利用主鍵 「SELECT * from表where(COL,COL)在」
- 9. 充分利用SQLite表列表項的主鍵標識-Android
- 10. 使用SQLite的流利NHibernate的SchemaExport的外鍵使用SQLite
- 11. SQL:如何找到未使用的主鍵
- 12. 使用OpenJPA從數據庫中未檢索到(?)的主鍵(ID)
- 13. 重置postgres序列以取未使用的主鍵ID
- 14. 充分利用外鍵
- 15. 關鍵點利用光流
- 16. 遷移主鍵使用AUTO_INCREMENT
- 17. 爲什麼使用主鍵?
- 18. 使用LINQ更新主鍵
- 19. 使用oid作爲主鍵
- 20. 使用ExecuteReader返回主鍵
- 21. 使用NSUserDefaults創建主鍵
- 22. MySQL中使用非主鍵
- 23. 一個使用非主鍵
- 24. ASP樣板(EF) - 流利的API - 自參照表,不使用主鍵
- 25. 流利的NHibernate的主鍵之一也是外鍵 - OutOfRangeException
- 26. 如何在Oracle SQL表中獲取未使用/可用主鍵(主鍵範圍從1到999)的列表?
- 27. 使用外鍵保存複合主鍵
- 28. MySQL - 也使用外鍵作爲主鍵
- 29. 使用複合主鍵作爲外鍵
- 30. 使用外鍵作爲主鍵
誠實的問題:爲什麼你在意ID值看起來整齊? – adamdunson