網頁

2018/7/1

SQL Server 重設欄位的自動增量(auto increment)的識別種子值(seed)。 reset auto increment seed value.

在SQL Server資料庫管理工具SSMS中可在資料表欄位的識別規格設定識別值增量(identity increment)來達到自動增量(auto increment)的效果。如果要將已經增量的識別值種子(identity seed)重設,可以使用DBCC CHECKIDENT


DBCC CHECKIDENT(table_name, RESEED, new_reseed_value);

-- e.g.
DBCC CHECKIDENT (Employee, RESEED, 1); --將Employee資料表的識別種子重設回1

  • table_name為要修改的資料表名稱。
  • RESEED是關鍵字,代表要重設種子。
  • new_reset_value為要重設的識別值種子值。

重設後,下次新增一筆資料的識別值等於重設的種子值加上識別值增量(increment)。例如上面Employee資料表一開始的識別值增量為1,識別值種子也為1,而目前的識別值為5。當識別值種子重設回1後,則下次新增一筆資料的識別值為2。

如果要檢視當前資料表的識別值,則使用下面語法。

DBCC CHECKIDENT(table_name);

執行後出現的結果範例如下

Checking identity information: current identity value '2', current column value '2'.
DBCC execution completed. If DBCC printed error messages, contact your system administrator.

補充說明,因為SQL Server一個資料表只能有一個識別值(identity),所以上面的語法都不用指明識別值欄位名稱。


沒有留言:

張貼留言