在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),所以上面的語法都不用指明識別值欄位名稱。
沒有留言:
張貼留言