SQL ServerでIDENTITYのSEED値をリセットする

SQL Server
スポンサーリンク

これも時々必要だけど忘れちゃうシリーズですよね。

まず、現在のIDを確認する方法は、

SELECT IDENT_CURRENT('テーブル名');

そして、任意のIDにリセットする方法は、

DBCC CHECKIDENT('テーブル名', RESEED, 設定したいID);

となります。
※すでにデータが存在し、IDを連続させたい場合はIDENT_CURRENTで調べたIDでリセットすることによって次のレコードはID + 1となります。

IDを最大値にリセットたい場合は、

DBCC CHECKIDENT('テーブル名');

となります。

従って、レコードを一部削除して最大のIDから続きのSEED値が割り当たるようにリセットする場合は、

DBCC CHECKIDENT('テーブル名', RESEED, 0);
DBCC CHECKIDENT('テーブル名');

このようにすると、可能です。

タイトルとURLをコピーしました