Mencipta kekangan kunci asing dalam MySQL boleh memaksa rekod sub-jadual untuk dikaitkan dengan rekod jadual utama untuk memastikan integriti data. Langkah khusus termasuk: 1. Tentukan lajur kunci asing subjadual 2. Rujuk lajur indeks unik jadual utama 3. Sediakan operasi pemadaman atau kemas kini berlata (pilihan).
Mencipta kekangan kunci asing dalam MySQL
Kekangan kunci asing ialah kekangan pangkalan data yang digunakan untuk memastikan integriti data dalam jadual. Ia memaksa setiap rekod dalam jadual kanak-kanak untuk merujuk rekod sedia ada dalam jadual utama.
Cara mencipta kekangan kunci asing
Dalam MySQL, anda boleh mencipta kekangan kunci asing dengan menyatakan kekangan kunci asing semasa mencipta jadual anak. Sintaksnya adalah seperti berikut:
<code class="sql">CREATE TABLE child_table (
child_column INT NOT NULL,
PRIMARY KEY (child_column),
FOREIGN KEY (child_column) REFERENCES parent_table (parent_column)
);</code>
Salin selepas log masuk
di mana:
- jadual_kanak ialah nama jadual kanak-kanak.
child_table
是子表名称。
-
parent_table
是主表名称。
-
child_column
是子表中的外键列。
-
parent_column
是主表中的引用列。
外键约束的含义
外键约束创建后,将强制执行以下规则:
- 子表中的每个记录必须引用主表中的一个现有记录。
- 如果主表中的被引用记录被删除,则子表中的引用记录也将被删除(级联删除)。
- 如果主表中的被引用记录被更新,则子表中的引用记录也将被更新(级联更新)。
使用外键约束的好处
使用外键约束有很多好处:
-
确保数据完整性:外键约束可防止在子表中插入指向不存在记录的外键值。
-
强制数据关联:外键约束强制子表中的记录与主表中的记录相关联。
-
简化数据维护:外键约束简化了数据的维护,因为当主表中的记录被删除或更新时,子表中的记录将自动更新或删除。
注意
-
主表中的列必须有唯一索引:外键列必须引用主表中的有唯一索引的列。
-
外键列必须在子表中存在:外键列必须是子表中的现有列。
-
级联删除和更新操作是可选的:可以通过指定
ON DELETE CASCADE
和 ON UPDATE CASCADE
jadual_ibu bapa ialah nama jadual utama.
🎜
child_column
ialah lajur kunci asing dalam jadual anak. 🎜🎜
lajur_ibu bapa ialah lajur rujukan dalam jadual utama. 🎜🎜🎜Maksud Kekangan Kunci Asing🎜🎜Apabila kekangan kunci asing dibuat, peraturan berikut dikuatkuasakan: 🎜🎜🎜Setiap rekod dalam jadual anak mesti merujuk rekod sedia ada dalam jadual utama. 🎜🎜Jika rekod rujukan dalam jadual utama dipadamkan, rekod rujukan dalam jadual anak juga akan dipadamkan (padam lata). 🎜🎜Jika rekod rujukan dalam jadual utama dikemas kini, rekod rujukan dalam jadual anak juga akan dikemas kini (kemas kini lata). 🎜🎜🎜Faedah menggunakan kekangan kunci asing🎜🎜Terdapat banyak faedah menggunakan kekangan kunci asing: 🎜🎜🎜Memastikan integriti data: Kekangan kunci asing menghalang pemasukan kunci asing dalam jadual anak yang menunjuk ke nilai kunci rekod tidak wujud. 🎜🎜Persatuan Data Paksa: Kekangan kunci asing memaksa rekod dalam jadual anak dikaitkan dengan rekod dalam jadual utama. 🎜🎜Penyelenggaraan data ringkas: Kekangan kunci asing memudahkan penyelenggaraan data kerana apabila rekod dalam jadual utama dipadamkan atau dikemas kini, rekod dalam jadual anak akan dikemas kini atau dipadamkan secara automatik. 🎜🎜🎜Nota🎜🎜🎜Lajur dalam jadual utama mesti mempunyai indeks unik:Lajur kunci asing mesti merujuk lajur dalam jadual utama yang mempunyai indeks unik. 🎜🎜Lajur kunci asing mesti wujud dalam jadual anak: Lajur kunci asing mestilah lajur sedia ada dalam jadual anak. . . 🎜🎜Atas ialah kandungan terperinci Bagaimana untuk mencipta kekangan kunci asing dalam mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!