主キーの作成
- 2017年3月14日
- 読むのに2分
-
- s
- M
- M
- W
- C
-
+7
適用対象: SQL Server 2016(13.x)以降 AzureSQLデータベース AzureSQLマネージドインスタンス
SQLを使用して、SQLServerで主キーを定義できます。 Server ManagementStudioまたはTransact-SQL。主キーを作成すると、対応する一意のクラスター化インデックス、またはそのように指定されている場合は非クラスター化インデックスが自動的に作成されます。
始める前に
制限と制限
-
テーブルに含めることができるPRIMARYKEY制約は1つだけです。
-
PRIMARYKEY制約内で定義されたすべての列はNOTNULLとして定義する必要があります。 null可能性が指定されていない場合、PRIMARYKEY制約に参加するすべての列のnull可能性はNOTNULLに設定されます。
セキュリティ
アクセス許可
主キーを使用して新しいテーブルを作成するには、データベースでのCREATE TABLE権限と、テーブルが作成されているスキーマでのALTER権限が必要です。
既存のテーブルで主キーを作成するには、ALTER権限が必要です。テーブル上。
SQL Server ManagementStudioの使用
主キーを作成するには
- オブジェクトエクスプローラーで、目的のテーブルを右クリックします。一意の制約を追加する場合は、[設計]をクリックします。
- テーブルデザイナで、主キーとして定義するデータベース列の行セレクターをクリックします。複数の列を選択する場合は、CTRLキーを押しながら、他の列の行セレクターをクリックします。
- 列の行セレクターを右クリックして、[主キーの設定]を選択します。
注意
主キーを再定義する場合は、新しい主キーを作成する前に、既存の主キーとの関係を削除する必要があります。このプロセスの一環として、既存の関係が自動的に削除されることを警告するメッセージが表示されます。
主キー列は、行セレクターの主キー記号で識別されます。
主キーが複数の列で構成されている場合、1つの列で重複する値を使用できますが、主キーのすべての列の値の各組み合わせは一意である必要があります。
複合を定義する場合キーの場合、主キーの列の順序は、表に示されている列の順序と一致します。ただし、主キーの作成後に列の順序を変更できます。詳細については、「主キーの変更」を参照してください。
Transact-SQLの使用
既存のテーブルに主キーを作成するには
次の例では、主キーを作成します。 AdventureWorksデータベースの列TransactionID
にあります。
新しいテーブルに主キーを作成するには
h3>
次の例では、テーブルを作成し、AdventureWorksデータベースの列TransactionID
に主キーを定義します。
新しいテーブルにクラスター化されたインデックスを持つ主キーを作成するには
次の例では、テーブルを作成し、列CustomerID
に主キーを定義します。およびAdventureWorksデータベースのTransactionID
のクラスター化されたインデックス。
関連項目
- ALTER TABLE
- CREATE TABLE
- table_constraint