可能重複:
Reset AutoIncrement in SqlServer after Delete自動遞增始終加1,以前行,即使前一行已經下降
我在與一個身份自動遞增一個惱人的問題Sql Server 2008數據庫中的列值。當我從表中刪除一行(或刪除所有行)時,當我添加一個新條目時,它將從插入到先前記錄中的值中遞增,而不管該記錄是否仍然存在。
我想知道是否有人知道如何得到它,這樣IDENTITY列將自動增加EXISTS以前的記錄。
我的代碼如下所示:
CREATE TABLE Product
(
Product_Barcode INT NOT NULL PRIMARY KEY IDENTITY,
Product_Description VARCHAR(255),
Product_Name VARCHAR(255),
Product_Supplier VARCHAR(255) FOREIGN KEY REFERENCES Supplier(Supplier_Name),
Product_Size VARCHAR(255),
Product_Weight FLOAT
);
這就是標識列的功能;爲什麼它的價值是什麼?這只是查詢或連接表的關鍵。 – LittleBobbyTables
@LittleBobbyTables:這很重要,因爲在爲產品創建記錄時,我還會爲通過外鍵鏈接到條形碼的庫存表創建記錄。我通過編程獲取產品條碼中的最後一個條目,並將值加1,除非在這種情況下沒有條目告訴它從1開始。這會產生問題,如果刪除條目,則ID將繼續我的代碼會指向錯誤的產品,並且我無法準確地查詢空表的前一個條形碼值=/ –
@ Termin8tor - ...或者您可以使用SCOPE_IDENTITY()來獲取正確的從產品表插入值。 – LittleBobbyTables