Heim >Datenbank >MySQL-Tutorial >Wie definiere ich einen zusammengesetzten Primärschlüssel in SQL?

Wie definiere ich einen zusammengesetzten Primärschlüssel in SQL?

Linda Hamilton
Linda HamiltonOriginal
2025-01-10 20:19:48720Durchsuche

How to Define a Composite Primary Key in SQL?

SQL-Definition des zusammengesetzten Primärschlüssels

In SQL werden Primärschlüssel verwendet, um Zeilen in einer Tabelle eindeutig zu identifizieren. Ein zusammengesetzter Primärschlüssel besteht aus mehreren Feldern. So definieren Sie einen zusammengesetzten Primärschlüssel, der zwei Felder enthält:

Frage:

Erstellen Sie eine Tabelle mit dem Namen „Voting“ mit Feldern wie „QuestionID“, „MemberID“ und „Vote“. Definieren Sie einen zusammengesetzten Primärschlüssel mit QuestionID und MemberID.

Lösung:

Um einen zusammengesetzten Primärschlüssel in SQL zu erstellen, verwenden Sie die folgende Syntax:

<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>

In diesem Beispiel lautet die SQL-Anweisung zum Erstellen einer Abstimmungstabelle mit einem zusammengesetzten Primärschlüssel wie folgt:

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

Anleitung:

    Die
  • PRIMARY KEY-Klausel gibt an, dass die Kombination aus QuestionID und MemberID zum Primärschlüssel der Abstimmungstabelle wird.
  • Das Paar
  • (QuestionID, MemberID) muss in allen Zeilen der Tabelle eindeutig sein.
  • Weder QuestionID noch MemberID dürfen NULL sein.
  • Wenn die Abfrage sowohl QuestionID als auch MemberID in der WHERE-Klausel verwendet, wird der Primärschlüsselindex verwendet, um die Suche zu beschleunigen.
  • Es wird empfohlen, die Reihenfolge der Felder im Primärschlüssel basierend auf dem erwarteten Verwendungsmuster der Tabelle zu wählen.

Das obige ist der detaillierte Inhalt vonWie definiere ich einen zusammengesetzten Primärschlüssel in SQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn