SQLサーバーで2つの主キーを設定するには

SQL Serverでは、1つのテーブルに主キーを設定することは1つしかできません。ただし、複数の列を使用して複合主キーを作成できます。これにより、複数の列にわたる一意性の要件を満たすことができます。SQL Serverで複合主キーを設定する手順を以下に示します。1. テーブルを作成するときに、複数の列を主キーとして定義します。

CREATE TABLE 表名 (

列1 数据类型,

 

列2 数据类型,

 

列3 数据类型,

 

PRIMARY KEY (列1, 列2) )


テーブルが存在する場合、ALTER TABLE文を使用して、主キーを追加することができます。

ALTER TABLE 表名
ADD PRIMARY KEY (列1, 列2)

複合キーを設定する場合、主キーを構成する列の値は一意で空でない必要があります。また、複数の主キーの効果をエミュレートするために一意制約を使用することもできます。一意制約は列の値が一意であることを保証しますが、自動でクラスター化インデックスを作成するわけではありません。

CREATE TABLE 表名 (

 

列1 数据类型,

 

列2 数据类型,

 

列3 数据类型,

 

CONSTRAINT 约束名 UNIQUE (列1, 列2) )


または、ALTER TABLE ステートメントを使用して、一意制約を追加できます。

ALTER TABLE 表名
ADD CONSTRAINT 约束名 UNIQUE (列1, 列2)

唯一制約を複数の列に設定することで、複数の主キーを設定するのと同じ結果となります。

bannerAds