SQL Server での ID 列の更新
SQL Server で ID 列を変更しようとしている場合、直接更新は次のことを理解することが重要です。許可されていません。通常の列とは異なり、ID 列は更新ステートメントを使用して単純に更新できません。
ID 列更新の代替案
ID 列を直接更新することは不可能ですが、代替手段があります。同様の結果を達成するためのアプローチ:
新しい ID 値の更新Records
新しいレコードが特定の ID 値で始まることを確認するには、DBCC CHECKIDENT を使用します。このコマンドは、現在の ID 値を確認し、必要に応じてリセットします。
DBCC CHECKIDENT('tableName', RESEED, NEW_RESEED_VALUE)
既存のレコードの ID 値の更新
既存のレコードの ID 値を選択的に更新するには、 IDENTITY_INSERT を利用します。この機能を使用すると、ID 列に値を明示的に挿入できます。
SET IDENTITY_INSERT YourTable {ON|OFF}
例
特定の ID 値を持つ新しいレコードを挿入するには:
-- Enable identity insert SET IDENTITY_INSERT YourTable ON -- Insert record INSERT INTO YourTable(IdentityCol, otherCol) VALUES(13,'myValue') -- Disable identity insert SET IDENTITY_INSERT YourTable OFF
既存のレコードを更新するには:
-- Delete old record DELETE FROM YourTable WHERE ID=3 -- Insert record with new identity value SET IDENTITY_INSERT YourTable ON INSERT INTO YourTable(ID, otherCol) VALUES(13,'newValue') SET IDENTITY_INSERT YourTable OFF
以上がSQL Server で ID 列の値を変更するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。