Rumah > pangkalan data > tutorial mysql > Definisi dan batasan kunci asing dalam pangkalan data MySQL

Definisi dan batasan kunci asing dalam pangkalan data MySQL

WBOY
Lepaskan: 2024-03-15 12:36:04
asal
1140 orang telah melayarinya

Definisi dan batasan kunci asing dalam pangkalan data MySQL

Tajuk: Definisi dan Had Kekunci Asing dalam Pangkalan Data MySQL

Dalam pangkalan data MySQL, kunci asing ialah kekangan yang digunakan untuk mewujudkan hubungan antara jadual. Kekunci asing memastikan bahawa data dalam satu jadual berkaitan dengan data dalam jadual lain. Dengan mentakrifkan kunci asing, kami boleh mencapai integriti rujukan antara data untuk memastikan ketekalan dan kebolehpercayaan data.

1. Definisi kunci asing

Dalam MySQL, kunci asing boleh ditakrifkan melalui sintaks berikut:

CREATE TABLE 表名 (
    列名 数据类型,
    外键列名 数据类型,
    FOREIGN KEY (外键列名) REFERENCES 关联表名(关联列名)
);
Salin selepas log masuk

di mana, 外键列名 是当前表中需要关联的列名,关联表名 是需要关联的表的表名,关联列名 ialah nama lajur yang perlu dikaitkan dalam jadual yang berkaitan. Dengan definisi ini, kita boleh mewujudkan hubungan satu-ke-banyak antara jadual.

2. Sekatan ke atas kunci asing

Apabila mentakrifkan kunci asing, kami boleh menambah beberapa sekatan untuk memastikan integriti data. Berikut ialah beberapa kekangan kunci asing yang biasa:

  • PADA PADAM TASKA: Apabila rekod dalam jadual induk dipadamkan, rekod berkaitan dalam jadual hamba juga akan dipadamkan.
  • ON DELETE SET NULL: Apabila rekod dalam jadual utama dipadamkan, nilai kunci asing rekod berkaitan dalam jadual hamba akan ditetapkan kepada NULL.
  • PADA TATA KEMASKINI: Apabila nilai kunci utama rekod dalam jadual induk dikemas kini, nilai kunci asing rekod berkaitan dalam jadual hamba juga akan dikemas kini.
  • PADA SET KEMASKINI NULL: Apabila nilai kunci utama rekod dalam jadual induk dikemas kini, nilai kunci asing rekod berkaitan dalam jadual hamba akan ditetapkan kepada NULL.

Berikut ialah contoh definisi dan sekatan kunci asing yang khusus:

CREATE TABLE 父表 (
    id INT PRIMARY KEY,
    name VARCHAR(50)
);

CREATE TABLE 子表 (
    id INT PRIMARY KEY,
    parent_id INT,
    FOREIGN KEY (parent_id) REFERENCES 父表(id) ON DELETE CASCADE
);
Salin selepas log masuk

Dalam contoh ini, hubungan satu-dengan-banyak diwujudkan antara jadual induk dan jadual anak apabila rekod dalam jadual induk dipadamkan, jadual anak Rekod yang berkaitan dengannya juga akan dipadamkan, sekali gus memastikan integriti dan konsistensi data.

Melalui pengenalan di atas, kita dapat melihat bahawa dalam pangkalan data MySQL, definisi dan sekatan kunci asing adalah sangat penting.

Atas ialah kandungan terperinci Definisi dan batasan kunci asing dalam pangkalan data 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan