阿晨1998
2018-12-07 13:08:20
最近碰到一個很坑爹的事情。
我數據庫有張表,它又有一主鍵,有自增的屬性(+1)?,F在主鍵已經到了1543,其中不可避免有斷層(就是主鍵ID 為100 或 112被刪除)。
問題 ? ?情況一:我現在添加數據時主鍵ID 重新從1開始自增(這是我現在出現的問題,主鍵ID重新從1開始自增)。
情況二:我現在添加數據時主鍵ID 是那些缺失的ID(棄)。
9 回答

素胚勾勒不出你
TA貢獻1827條經驗 獲得超9個贊
情況一:從1開始自增長只能通過Truncate Table清空所有數據。
情況二:使用?Set Identity_Insert 表名 Off 語句關閉 Id 列寫入保護,手動寫入斷層Id,然后再 Set Identity_Insert 表名 On

波斯汪
TA貢獻1811條經驗 獲得超4個贊
1. 要從1開始自增,需要用TRUNCATE TABLE清空表中所有數據。
2.?
a) 刪除時不要直接刪除,通過增加一個字段標識出已刪除的記錄。
b) 或者在代碼中手動計算ID

陪伴而非守候
TA貢獻1757條經驗 獲得超8個贊
可以 確定沒有用TRUNCATE TABLE刪除,只是用了delete刪除了幾條數據而已。
補充 ??情況一:我現在添加數據時主鍵ID 重新從1開始自增(這個是我現在每添加一條數據它是重新從1開始自增的,現在已經添加到了5,即添加了5條數據了)
?情況二:我現在添加數據時主鍵ID 是那些缺失的ID(即我現在添加信息是替補了我刪除的ID)
可能以上描述有問題導致 dudu 您老看花了眼,在此深感愧疚。
- 9 回答
- 0 關注
- 746 瀏覽
添加回答
舉報
0/150
提交
取消