Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Merujuk Kunci Utama Dua Lajur dengan Kunci Asing dalam MySQL?

Bagaimana untuk Merujuk Kunci Utama Dua Lajur dengan Kunci Asing dalam MySQL?

Susan Sarandon
Lepaskan: 2024-12-20 07:17:10
asal
838 orang telah melayarinya

How to Reference a Two-Column Primary Key with Foreign Keys in MySQL?

Merujuk Kunci Utama Dua Lajur dalam MySQL dengan Kekunci Asing

Apabila mereka bentuk jadual pangkalan data hubungan, adalah perkara biasa untuk menghadapi situasi di mana berbilang lajur membentuk kunci utama jadual, dan jadual lain perlu merujuknya. Dalam MySQL, mencipta kunci asing untuk dipautkan kepada kunci utama kompaun sedemikian memerlukan beberapa pertimbangan khusus.

Untuk mewujudkan kunci asing dalam jadual lain yang merujuk kepada kunci utama dua lajur (product_id, attribute_id):

CREATE TABLE MyReferencingTable (
    [COLUMN DEFINITIONS]
    refcol1 INT NOT NULL,
    refcol2 INT NOT NULL,
    CONSTRAINT fk_mrt_ot FOREIGN KEY (refcol1, refcol2)
    REFERENCES OtherTable(product_id, attribute_id)
) ENGINE=InnoDB;
Salin selepas log masuk

Sintaks ini menentukan beberapa perkara penting:

  • Pengindeksan Rujukan Lajur: MySQL memerlukan lajur kunci asing diindeks, jadi lajur rujukan (refcol1, refcol2) mesti mempunyai indeks.
  • Menggunakan Sintaks Kekangan: Sintaks CONSTRAINT membolehkan anda menamakan kekangan, menjadikannya lebih mudah untuk mengurus dan memanipulasi kemudian jika perlu.
  • Menggunakan Enjin InnoDB: InnoDB menguatkuasakan kunci asing dengan ketat, memastikan integriti data. MyISAM, sebaliknya, menghuraikan kekangan kunci asing tetapi akhirnya mengabaikannya.

Atas ialah kandungan terperinci Bagaimana untuk Merujuk Kunci Utama Dua Lajur dengan Kunci Asing dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan