主キーの作成

  • 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の使用

主キーを作成するには

  1. オブジェクトエクスプローラーで、目的のテーブルを右クリックします。一意の制約を追加する場合は、[設計]をクリックします。
  2. テーブルデザイナで、主キーとして定義するデータベース列の行セレクターをクリックします。複数の列を選択する場合は、CTRLキーを押しながら、他の列の行セレクターをクリックします。
  3. 列の行セレクターを右クリックして、[主キーの設定]を選択します。

注意

主キーを再定義する場合は、新しい主キーを作成する前に、既存の主キーとの関係を削除する必要があります。このプロセスの一環として、既存の関係が自動的に削除されることを警告するメッセージが表示されます。

主キー列は、行セレクターの主キー記号で識別されます。

主キーが複数の列で構成されている場合、1つの列で重複する値を使用できますが、主キーのすべての列の値の各組み合わせは一意である必要があります。

複合を定義する場合キーの場合、主キーの列の順序は、表に示されている列の順序と一致します。ただし、主キーの作成後に列の順序を変更できます。詳細については、「主キーの変更」を参照してください。

Transact-SQLの使用

既存のテーブルに主キーを作成するには

次の例では、主キーを作成します。 AdventureWorksデータベースの列TransactionIDにあります。

新しいテーブルに主キーを作成するには

h3>

次の例では、テーブルを作成し、AdventureWorksデータベースの列TransactionIDに主キーを定義します。

新しいテーブルにクラスター化されたインデックスを持つ主キーを作成するには

次の例では、テーブルを作成し、列CustomerIDに主キーを定義します。およびAdventureWorksデータベースのTransactionIDのクラスター化されたインデックス。

関連項目

  • ALTER TABLE
  • CREATE TABLE
  • table_constraint

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です