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.
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 DELETE
和 ON 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)
ON DELETE
dan ON UPDATE
. Contohnya: <code class="sql">SELECT * FROM child_table WHERE parent_id NOT IN (SELECT id FROM parent_table);</code>
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!