1. ホーム
  2. sql

[解決済み] SQL Serverでレコードを削除した後、IDシードをリセットする。

2022-03-18 07:53:43

質問

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

しかし、私はテーブルからいくつかのレコードを削除する必要があるので、それらのテーブルのIDシードは乱れ、インデックス列(1増分で自動生成される)は乱れることになる。

レコードを削除した後、ID カラムをリセットして、カラムの並びを数字の昇順にするにはどうすればよいですか。

ID カラムは、データベースのどの場所でも外部キーとして使用されていません。

解決方法は?

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

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

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

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


感謝 ソロモン・ルツキー ドクターズ を修正しました。