Rumah >pangkalan data >tutorial mysql >Bagaimana untuk mencipta kekangan kunci asing dalam mysql

Bagaimana untuk mencipta kekangan kunci asing dalam mysql

下次还敢
下次还敢asal
2024-05-01 20:28:00472semak imbas

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

Bagaimana untuk mencipta kekangan kunci asing dalam mysql

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>

di mana:

  • jadual_kanak ialah nama jadual kanak-kanak. child_table 是子表名称。
  • parent_table 是主表名称。
  • child_column 是子表中的外键列。
  • parent_column 是主表中的引用列。

外键约束的含义

外键约束创建后,将强制执行以下规则:

  • 子表中的每个记录必须引用主表中的一个现有记录。
  • 如果主表中的被引用记录被删除,则子表中的引用记录也将被删除(级联删除)。
  • 如果主表中的被引用记录被更新,则子表中的引用记录也将被更新(级联更新)。

使用外键约束的好处

使用外键约束有很多好处:

  • 确保数据完整性:外键约束可防止在子表中插入指向不存在记录的外键值。
  • 强制数据关联:外键约束强制子表中的记录与主表中的记录相关联。
  • 简化数据维护:外键约束简化了数据的维护,因为当主表中的记录被删除或更新时,子表中的记录将自动更新或删除。

注意

  • 主表中的列必须有唯一索引:外键列必须引用主表中的有唯一索引的列。
  • 外键列必须在子表中存在:外键列必须是子表中的现有列。
  • 级联删除和更新操作是可选的:可以通过指定 ON DELETE CASCADEON 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!

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