ホームページ >データベース >mysql チュートリアル >既存の SQL Server 列に ID プロパティを追加するにはどうすればよいですか?

既存の SQL Server 列に ID プロパティを追加するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2025-01-22 23:22:11882ブラウズ

How to Add an Identity Property to an Existing SQL Server Column?

既存の SQL Server 列に ID を追加する: 2 つの方法

SQL Server の既存の列に ID プロパティを直接追加するのは簡単な作業ではありません。 この記事では、これを実現するための 2 つの方法について概説します。それぞれに独自のトレードオフがあります。

方法 1: ID を使用して新しいテーブルを作成する

このメソッドは既存のデータを保存します。

<code class="language-sql">CREATE TABLE dbo.Tmp_Names (
  Id INT NOT NULL IDENTITY(1, 1),
  Name VARCHAR(50) NULL
) ON [PRIMARY]
GO

SET IDENTITY_INSERT dbo.Tmp_Names ON
GO

IF EXISTS (SELECT * FROM dbo.Names)
    INSERT INTO dbo.Tmp_Names (Id, Name)
    SELECT Id, Name
    FROM dbo.Names TABLOCKX
GO

SET IDENTITY_INSERT dbo.Tmp_Names OFF
GO

DROP TABLE dbo.Names
GO

EXEC sp_rename 'Tmp_Names', 'Names'</code>

方法 2: 新しい ID 列を追加し、古い ID 列を置き換える

このアプローチでは、新しい 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>

重要な考慮事項:

いずれかの方法を実装する前に、元の主キー列にリンクされている外部キー制約に必ず対処してください。 そうしないと、データベース エラーが発生します。

詳細情報とトラブルシューティングについては、次の Microsoft SQL Server フォーラム スレッドを参照してください。

https://www.php.cn/link/16dd8c942ad630be7e5a12b681b3f5c4

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

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