ID 列を含めるように既存のテーブルを変更する
多くのデータベース タスクでは、既存のテーブルに ID 列を追加する必要があります。 よくある質問は、既存の列を変更するか、新しい列を作成するかということです。
直接変換が不可能な理由
既存の列を ID 列に直接変換することは実現できません。 ID 列は、定義されたシード値から始まる連続した値を生成します。 既存の列を変更すると、データの整合性が損なわれます。
ID 列を追加するための戦略
ID 列を追加するには 2 つの主な方法があります:
1. ID を使用して新しいテーブルを作成する
これには以下が含まれます:
2.新しい ID 列の追加
このアプローチは以下で構成されます:
SQL クエリの例
方法 1: 新しいテーブルの作成
<code class="language-sql">CREATE TABLE New_Table ( Id INT NOT NULL IDENTITY(1, 1), Name VARCHAR(50) NULL ); INSERT INTO New_Table (Id, Name) SELECT Id, Name FROM Original_Table; DROP TABLE Original_Table; EXEC sp_rename 'New_Table', 'Original_Table';</code>
方法 2: 新しい列を追加する
<code class="language-sql">ALTER TABLE Original_Table ADD Id_new INT IDENTITY(1, 1); ALTER TABLE Original_Table DROP COLUMN Id; EXEC sp_rename 'Original_Table.Id_new', 'Id', 'COLUMN';</code>
重要な考慮事項
NOT NULL
制約を使用します。 (必要に応じて) 既存の値を維持するには、データを挿入する前に IDENTITY_INSERT
を ON
に設定します。以上が既存のデータベーステーブルに ID 列を追加するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。