SQL Server でレコードを削除した後に ID シードをリセットする 質問する

SQL Server でレコードを削除した後に ID シードをリセットする 質問する

SQL Server データベース テーブルにレコードを挿入しました。テーブルには主キーが定義されており、自動増分 ID シードは「はい」に設定されています。これは主に、SQL Azure では各テーブルに主キーと ID を定義する必要があるためです。

しかし、テーブルからいくつかのレコードを削除する必要があるため、それらのテーブルの ID シードが乱れ、インデックス列 (1 ずつ増分して自動生成される) が乱れます。

レコードを削除した後、列の順序が昇順になるように ID 列をリセットするにはどうすればよいですか?

ID 列はデータベース内のどこでも外部キーとして使用されません。

ベストアンサー1

DBCC CHECKIDENT管理コマンドは、ID カウンターをリセットするために使用されます。コマンド構文は次のとおりです。

DBCC CHECKIDENT (table_name [, { NORESEED | { RESEED [, new_reseed_value ]}}])
[ WITH NO_INFOMSGS ]

例:

DBCC CHECKIDENT ('[TestTable]', RESEED, 0);
GO

以前のバージョンの Azure SQL Database ではサポートされていませんでしたが、現在はサポートされています。


感謝ソロモン・ラツキードキュメントコマンドのエラーが修正されました。

おすすめ記事