Sql-Server

重置 IDENTITY 值

  • October 30, 2018

我有一個帶有 IDENTITY 列的表。在開發過程中,我不時刪除行並再次添加它們。但是 IDENTITY 值總是不斷增加,並且當我再次添加它們時並沒有從 1 開始。現在我的 id 從 68 -> 92 開始,這會使我的程式碼崩潰。

如何重置 IDENTITY 值?

您可以通過以下方式重置身份值

DBCC CHECKIDENT('tableName', RESEED, 0)

所以下次插入 TableName 時,插入的標識值將是 1。

當您從表中刪除行時,它不會重置 Identity 值,但會不斷增加它。就像你的情況一樣。

現在,當您截斷表時,它會將 Identity 值重置為表的原始種子值。

請參閱:SQL SERVER – DELETE、TRUNCATE 和 RESEED Identity以獲得詳細的範例以及對Truncate 和 Delete 之間的區別的一些很好的解釋

引用自:https://dba.stackexchange.com/questions/43910