ホームページ >データベース >mysql チュートリアル >SQL で複合主キーを定義するにはどうすればよいですか?

SQL で複合主キーを定義するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2025-01-10 20:19:48717ブラウズ

How to Define a Composite Primary Key in SQL?

SQL 複合主キー定義

SQL では、テーブル内の行を一意に識別するために主キーが使用されます。複合主キーは複数のフィールドで構成されます。 2 つのフィールドを含む複合主キーを定義する方法は次のとおりです:

質問:

QuestionID、MemberID、vote を含むフィールドを含む、voting という名前のテーブルを作成します。 QuestionID と MemberID を使用して複合主キーを定義します。

解決策:

SQL で複合主キーを作成するには、次の構文を使用します:

<code class="language-sql">CREATE TABLE table_name (
  field_name_1 data_type,
  field_name_2 data_type,
  PRIMARY KEY (field_name_1, field_name_2)
);</code>

この例では、複合主キーを持つ投票テーブルを作成する SQL ステートメントは次のとおりです:

<code class="language-sql">CREATE TABLE voting (
  QuestionID NUMERIC,
  MemberID NUMERIC,
  vote VARCHAR(255),
  PRIMARY KEY (QuestionID, MemberID)
);</code>

手順:

  • PRIMARY KEY 句は、QuestionID と MemberID の組み合わせが投票テーブルの主キーになることを指定します。
  • (QuestionID, MemberID) ペアは、テーブルのすべての行で一意である必要があります。
  • QuestionID も MemberID も NULL にすることはできません。
  • クエリが WHERE 句で QuestionID と MemberID の両方を使用する場合、主キー インデックスを使用して検索を高速化します。
  • テーブルの予想される使用パターンに基づいて、主キー内のフィールドの順序を選択することをお勧めします。

以上がSQL で複合主キーを定義するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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