ホームページ >データベース >mysql チュートリアル >SQL Server で ID 列を変更するにはどうすればよいですか?

SQL Server で ID 列を変更するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2025-01-07 13:56:40559ブラウズ

How Can I Modify Identity Columns in SQL Server?

SQL Server での ID 列の更新: 総合ガイド

SQL Server データベースを使用する場合、次の操作が必要になる場合があります。 ID 列を変更します。この記事では、この要件に対処するために利用できるオプションを検討し、制限と代替案について徹底的に説明します。

ID 列を更新できない

とは異なります。 SQL Server テーブル内の他の列の場合、アイデンティティ列は、update ステートメントを使用して直接更新できません。この制限は、テーブルに新しいレコードが挿入されるたびに自動的に増加するように設計された ID 列の性質によるものです。

ID 列の更新の代替手段

ただし直接更新することはできません。特定の環境に応じて、同様の結果を達成するための代替方法があります。要件:

1.新しいレコードの ID 値の更新

テーブルに挿入される将来のレコードが特定の ID 値で始まることを確認する必要がある場合は、DBCC CHECKIDENT コマンドを使用できます。このコマンドを使用すると、現在の ID 値をリセットし、新しい開始値を指定できます。

構文:

DBCC CHECKIDENT('tableName', RESEED, NEW_RESEED_VALUE)

2.既存のレコードの ID 値の更新

既存のレコードの ID 値を更新するには、IDENTITY_INSERT プロパティを利用できます。このプロパティを使用すると、新しいレコードを挿入するときに ID 値を明示的に指定できます。

構文:

SET IDENTITY_INSERT YourTable {ON|OFF}

例:

-- Turn on IDENTITY_INSERT to allow explicit identity value insertion
SET IDENTITY_INSERT YourTable ON
GO
-- Insert a new record with the desired identity value
INSERT INTO YourTable(IdentityCol, otherCol) VALUES(13,'myValue')
GO
-- Delete the old record with the existing identity value
DELETE FROM YourTable WHERE ID=3
GO
-- Turn off IDENTITY_INSERT to resume automatic identity value increment
SET IDENTITY_INSERT YourTable OFF

これらの手法を活用することで、SQL での ID 列の更新に関連する課題に効果的に対処できます。サーバー。

以上がSQL Server で ID 列を変更するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。