Sql-Server
重置 IDENTITY 值
我有一個帶有 IDENTITY 列的表。在開發過程中,我不時刪除行並再次添加它們。但是 IDENTITY 值總是不斷增加,並且當我再次添加它們時並沒有從 1 開始。現在我的 id 從 68 -> 92 開始,這會使我的程式碼崩潰。
如何重置 IDENTITY 值?
您可以通過以下方式重置身份值
DBCC CHECKIDENT('tableName', RESEED, 0)
所以下次插入 TableName 時,插入的標識值將是 1。
當您從表中刪除行時,它不會重置 Identity 值,但會不斷增加它。就像你的情況一樣。
現在,當您截斷表時,它會將 Identity 值重置為表的原始種子值。
請參閱:SQL SERVER – DELETE、TRUNCATE 和 RESEED Identity以獲得詳細的範例以及對Truncate 和 Delete 之間的區別的一些很好的解釋