1. ID自動編號的資料庫當中刪除了一條記錄後,如何才能使編號仍然保持連續
這是很多人的誤會:
自動編號只代表資料庫只保證自動建立的編號是唯一, 並不保證編號是連續的.
至於你第2個問題, 可使用:
1. 程序語言實現(PHP, JAVA, C++, VB), 當執行刪除操件,
update xxx set id = id - 1 where id > deleteId
2. 建立資料庫"觸發" (Trigger)
但老實說, 保存ID的連續性在實際上並不存在任何意義.
2. mysql中id自動增長,如果刪除某行數據,再插入新的數據
由於是資料庫管理系統內部機制限死的,題主這個需求沒有太好的解決方案。
可以考慮在經過一段時間增刪數據出現數字不連續情況後,採取刪除自增ID欄位,再重新添加自增ID欄位來消除ID不連續的現象,也可以通過將數據導入含自增ID欄位的空表等方法來消除數字間斷。
3. Mysql資料庫中使用DELETE語句時,一般刪除一條記錄後ID會不連續,才能讓序號繼續按順序排列
答案肯定是沒有必要這么做啦!你建立自增ID 的原因不就是為了起到唯一索引的目的嗎,既然這樣 那你就沒必要再去人為處理 ID,如果去處理,反而會非常影響性能,何苦呢。
4. sql 表的主鍵是自增序列,如何解決刪除的id...
沒有必要,不連續就不連續。干嗎必要連續。
ID本來就是作為數據的唯一標識用的,只要是唯一的就行,連不連續無所謂。
因為如果連續的話,那麼你每次刪除數據都要進行ID重新排列,這樣當數據較多時,會嚴重影響速度,所以大家都不這樣作。
5. 資料庫id自動增長,數據不停的刪除和插入,這樣的話id欄位會不斷的變大,直到溢出這個問題是怎麼解決的
這個看情況了,首先看看是不是有使用自增列的必要,如果有必要前期要有預見性,對於可能會出現溢出的情況,則盡量使用bigint類型,當然這個要多佔用存儲空間。如果刪除操作比較規則,比如會定期刪除較早的數據,那麼可以在id即將溢出的時候重置種子,從頭開始自增,如果不能循環使用id值得話只能在即將溢出的時候修改表,用更大的數據類型來作為自增列的類型,這個過程因為涉及大量的數據更新插入操作,速度會很慢,通常盡量避免。如果id快溢出了,最好新建一個表來存儲新增的數據。
6. 資料庫自動增加的ID能不能實現中間刪除一條記錄後,後便的ID自動向前串
直接實現是不行的,但是可以間接的。
比如說,把這個欄位刪除,然後重新建立。
如果要保持順序,就把數據導入到一個臨時表,然後清空原表,再導回來。
7. 在ci框架中怎樣實現刪除數據後id仍然能夠不斷號
如果是單用戶操作好辦,ID不自增,然後每次插入數據之次作一次最大的ID查詢,取到最大的ID再加1就是新數據要插入的ID。
如果是多用戶操作,要使用排他鎖,避免得到臟數據。
8. MySQL自增長欄位在刪除後按照刪除前欄位值繼續增長,如何破
你需要ALTER TABLE tablename AUTOINCREMENT = 3; 來重置自增長的值,因為設置了自增長後每條新紀錄都是按照上次插入的id一直增長的,由於你上次插入的id是6所以就算你刪了記錄,再插入的話也是接著往7開始。
9. 求助:資料庫中刪除記錄之後自動編號的ID不連續怎麼辦〔ASP+ACCESS〕
如何你刻意追求編號連續的話 以後不會刪除數據還好 要是也要刪除就麻煩很多
你可以把數據都重新導入到另一個表中 然後用那個新表
10. 在mysql中如何讓刪除後的id自動變化
在查詢表中將id列全部刪除,然後增加id列(非空 主鍵 自增長)就OK了,最後在表中將id列滑鼠左鍵拖動至最左側。