Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk menulis kunci asing untuk membuat jadual dalam MySQL

Bagaimana untuk menulis kunci asing untuk membuat jadual dalam MySQL

下次还敢
下次还敢asal
2024-04-22 19:51:15356semak imbas

Dalam MySQL, anda boleh mencipta kunci asing jadual melalui langkah berikut: Cipta jadual induk dan jadual anak, dan pastikan lajur yang sepadan wujud dalam jadual induk. Gunakan kekangan KUNCI ASING untuk mengaitkan lajur dalam jadual anak dengan lajur dalam jadual induk. Secara pilihan, nyatakan operasi lata yang mentakrifkan kesan pada rekod jadual anak apabila rekod jadual induk dipadamkan atau dikemas kini. Jalankan pertanyaan untuk menyemak sama ada kekangan kunci asing telah digunakan dengan betul.

Bagaimana untuk menulis kunci asing untuk membuat jadual dalam MySQL

Cara mencipta kunci asing jadual menggunakan MySQL

Dalam MySQL, kekangan kunci asing digunakan untuk memastikan rekod dalam jadual anak sepadan dengan rekod berkaitan dalam jadual induk. Ia membantu mengekalkan konsistensi dan integriti data. Berikut ialah langkah-langkah untuk mencipta kunci asing:

1 Cipta jadual induk dan jadual anak

Mula-mula, buat jadual anak yang mengandungi lajur kunci asing. Pastikan lajur yang sepadan wujud dalam jadual induk. Contohnya:

<code class="sql">CREATE TABLE parent_table (
  id INT NOT NULL,
  name VARCHAR(255)
);

CREATE TABLE child_table (
  id INT NOT NULL,
  parent_id INT,
  name VARCHAR(255)
);</code>

2 Buat kekangan kunci asing

Gunakan kekangan FOREIGN KEY dalam jadual anak untuk membandingkan lajur parent_id dalam jadual anak. lajur dalam lajur jadual induk>id dikaitkan. Contohnya: FOREIGN KEY 约束将子表中的 parent_id 列与父表中的 id 列关联起来。例如:

<code class="sql">ALTER TABLE child_table
ADD FOREIGN KEY (parent_id) REFERENCES parent_table (id);</code>

3. 指定级联操作(可选)

级联操作定义当父表中的记录被删除或更新时,外键约束如何影响子表中的相关记录。您可以使用 ON DELETEON UPDATE

<code class="sql">ALTER TABLE child_table
ADD FOREIGN KEY (parent_id) REFERENCES parent_table (id)
ON DELETE CASCADE
ON UPDATE RESTRICT;</code>

3. Tentukan operasi lata (pilihan)

  • Operasi berlatarkan menentukan cara kekangan kunci asing mempengaruhi rekod berkaitan dalam jadual anak apabila rekod dalam jadual induk dipadamkan atau dikemas kini. Anda boleh menentukan operasi ini menggunakan klausa ON DELETE dan ON UPDATE. Contohnya:
<code class="sql">SELECT * FROM child_table
WHERE parent_id NOT IN (SELECT id FROM parent_table);</code>
  • Contoh ini menentukan:
  • Apabila rekod induk yang dirujuk dalam jadual induk dipadamkan, rekod anak yang berkaitan akan dipadamkan berlatarkan daripada jadual anak. Kemas kini akan disekat apabila rekod induk yang dirujuk dalam jadual induk dikemas kini.

    4. Semak kekangan

    🎜🎜Selepas mencipta kekangan kunci asing, jalankan pertanyaan berikut untuk menyemak sama ada kekangan telah digunakan:🎜rrreee🎜Jika pertanyaan mengembalikan hasil, ia menunjukkan bahawa tiada rekod yang sepadan dengan rekod induk dalam jadual anak, dan Kekangan kunci asing tidak digunakan dengan betul. 🎜

    Atas ialah kandungan terperinci Bagaimana untuk menulis kunci asing untuk membuat jadual dalam MySQL. 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