Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menentukan Kunci Utama Komposit dalam SQL?

Bagaimana untuk Menentukan Kunci Utama Komposit dalam SQL?

Linda Hamilton
Linda Hamiltonasal
2025-01-10 20:19:48717semak imbas

How to Define a Composite Primary Key in SQL?

Takrif kunci utama komposit SQL

Dalam SQL, kunci utama digunakan untuk mengenal pasti baris secara unik dalam jadual. Kunci utama komposit terdiri daripada berbilang medan. Begini cara untuk menentukan kunci utama komposit yang mengandungi dua medan:

Soalan:

Buat jadual bernama undian dengan medan termasuk ID Soalan, ID Ahli dan undi. Tentukan kunci utama komposit menggunakan QuestionID dan MemberID.

Penyelesaian:

Untuk mencipta kunci utama komposit dalam SQL, gunakan sintaks berikut:

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

Dalam contoh ini, pernyataan SQL untuk mencipta jadual undian dengan kunci utama komposit adalah seperti berikut:

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

Arahan:

    Klausa
  • PRIMARY KEY menyatakan bahawa gabungan QuestionID dan MemberID akan menjadi kunci utama jadual undian.
  • Pasangan
  • (QuestionID, MemberID) mestilah unik antara semua baris jadual.
  • Soalan ID mahupun MemberID tidak boleh menjadi NULL.
  • Jika pertanyaan menggunakan QuestionID dan MemberID dalam klausa WHERE, ia akan menggunakan indeks kunci utama untuk mempercepatkan carian.
  • Adalah disyorkan untuk memilih susunan medan dalam kunci utama berdasarkan corak penggunaan jadual yang dijangkakan.

Atas ialah kandungan terperinci Bagaimana untuk Menentukan Kunci Utama Komposit dalam SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn