Rumah > pangkalan data > tutorial mysql > Apakah CASCADE, NO ACTION, RESTRICT, dan SET NULL dalam tetapan kunci asing Mysql?

Apakah CASCADE, NO ACTION, RESTRICT, dan SET NULL dalam tetapan kunci asing Mysql?

王林
Lepaskan: 2023-05-27 17:19:13
ke hadapan
3071 orang telah melayarinya

Apabila saya menggunakan Navicat untuk mysql untuk mereka bentuk jadual hari ini, apabila menetapkan kunci asing, terdapat empat nilai untuk dipilih dalam dua lajur semasa memadam dan mengemas kini: CASCADE, NO ACTION, HAD, SET NULL, saya mencuba semuanya sendiri, dan perbezaannya adalah seperti berikut:

  • CASCADE: Apabila jadual induk memadam dan mengemas kini, jadual anak akan memadam dan mengemas kini rekod yang berkaitan ;

  • SET NULL: Apabila jadual induk dipadam atau dikemas kini, jadual anak akan menetapkan lajur medan kunci asing rekod yang berkaitan kepada null, jadi sila ambil perhatian bahawa kunci asing tidak boleh ditetapkan kepada tidak batal apabila mereka bentuk jadual anak; 🎜>

  • TIADA TINDAKAN: Sama seperti HAD juga menyemak kunci asing terlebih dahulu
  • Berikut adalah contoh kecil untuk membantu memahami:

    (1) Saya mencipta jadual baharu a dalam kedai buku pangkalan data Seperti berikut:
空、RESTRICT、NO ACTION 删除:从表记录不存在时,主表才可以删除,删除从表,主表不变。
更新:从表记录不存在时,主表菜可以更新,更新从表,主表不变。
CASCADE 删除:删除主表时自动删除从表。删除从表,主表不变。
更新:更新主表时自动更新从表。更新从表,主表不变。
SET NULL 删除:删除主表时自动更新从表为NULL,删除从表,主表不变。
更新:更新主表时自动更新从表值为NULL。更新从表,主表不变。

Tetapkan kunci asing:

Apakah CASCADE, NO ACTION, RESTRICT, dan SET NULL dalam tetapan kunci asing Mysql?

(2) Di kedai buku pangkalan data, saya mencipta jadual b baharu seperti berikut:

Apakah CASCADE, NO ACTION, RESTRICT, dan SET NULL dalam tetapan kunci asing Mysql?

(3) Masukkan rekod ke dalam jadual a dan b seperti berikut:

Apakah CASCADE, NO ACTION, RESTRICT, dan SET NULL dalam tetapan kunci asing Mysql?

Di sini: Medan id2 jadual a ialah medan kunci asing, rujuk kunci utama jadual b, jadi jadual b ialah jadual induk dan jadual a ialah jadual anak; kemudian tetapkan empat nilai yang berbeza apabila menetapkan kunci asing jadual a. Apakah CASCADE, NO ACTION, RESTRICT, dan SET NULL dalam tetapan kunci asing Mysql?

Atas ialah kandungan terperinci Apakah CASCADE, NO ACTION, RESTRICT, dan SET NULL dalam tetapan kunci asing Mysql?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
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