ホームページ >データベース >mysql チュートリアル >SQL で既存のテーブルに ID 列を追加するにはどうすればよいですか?
効率的なデータベース管理は、適切に整理され、簡単にアクセスできるデータにかかっています。 これには主キーが重要であり、ID 列を使用すると、一意の連続した識別子をテーブル行に割り当てる効率的な方法が提供されます。 ただし、既存の列を ID 列に直接変換することは SQL では不可能です。 この記事では、既存のテーブルに ID 列を追加するための最適な戦略について概説します。
ID 列を組み込むための戦略
既存のテーブルに ID 列を追加するには、主に 2 つのアプローチがあります。
ID 列を含む新しいテーブルの作成:
INSERT INTO
ステートメントを使用して元のテーブルから移行されます。新しい ID 列の追加:
方法 1: 新しいテーブルのアプローチ
このメソッドは、新しい ID 列内の既存のデータ値を保持します。ただし、元のテーブルは削除されることに注意してください。損失を防ぐには、データのバックアップを綿密に行うことが重要です。
<code class="language-sql">CREATE TABLE dbo.Tmp_Names ( Id INT NOT NULL IDENTITY(1, 1), Name VARCHAR(50) NULL ) ON [PRIMARY] SET IDENTITY_INSERT dbo.Tmp_Names ON IF EXISTS (SELECT * FROM dbo.Names) INSERT INTO dbo.Tmp_Names (Id, Name) SELECT Id, Name FROM dbo.Names TABLOCKX SET IDENTITY_INSERT dbo.Tmp_Names OFF DROP TABLE dbo.Names EXEC sp_rename 'Tmp_Names', 'Names'</code>
方法 2: 新しい列のアプローチ
このアプローチでは、元の列のデータを保持せずに新しい ID 列を追加します。新しい列には自動的に連続した番号が入力されます。
<code class="language-sql">ALTER TABLE Names ADD Id_new INT IDENTITY(1, 1) GO ALTER TABLE Names DROP COLUMN ID GO EXEC sp_rename 'Names.Id_new', 'ID', 'COLUMN'</code>
結論
直接の変更は実現できませんが、これらの方法は ID 列を既存のデータベース構造に統合するための効果的なソリューションを提供します。 データ保存のニーズに最適な方法を選択し、データ転送プロセスを慎重に管理してデータの整合性を確保してください。
以上がSQL で既存のテーブルに ID 列を追加するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。