Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mengubah Tindakan Rujukan Kunci Asing daripada ON DELETE CASCADE kepada ON DELETE RESTRICT?

Bagaimana untuk Mengubah Tindakan Rujukan Kunci Asing daripada ON DELETE CASCADE kepada ON DELETE RESTRICT?

Patricia Arquette
Lepaskan: 2024-11-30 19:38:14
asal
729 orang telah melayarinya

How to Change a Foreign Key Referential Action from ON DELETE CASCADE to ON DELETE RESTRICT?

Mengubah Tindakan Rujukan Kunci Asing

Kekangan kunci asing menguatkuasakan integriti rujukan dengan memastikan baris dalam jadual anak tidak boleh dipadamkan jika ia dirujuk mengikut baris dalam jadual induk. Secara lalai, kekangan kunci asing ditetapkan kepada ON DELETE CASCADE, yang memadamkan baris anak secara automatik apabila baris induknya dipadamkan.

Jika anda ingin menukar tindakan rujukan kepada ON DELETE RESTRICT, yang menghalang pemadaman induk baris jika mereka mempunyai baris anak yang berkaitan, anda boleh melakukannya menggunakan SQL berikut arahan:

Langkah 1: Gugurkan Kekangan Sedia Ada

ALTER TABLE table_name
DROP FOREIGN KEY constraint_name;
Salin selepas log masuk

Arahan ini mengalih keluar kekangan kunci asing sedia ada, tetapi membiarkan lajur kunci asing di tempatnya.

Langkah 2: Tambah Kekangan Baharu dengan ON DELETE HAD

ALTER TABLE table_name
ADD CONSTRAINT constraint_name
FOREIGN KEY (foreign_key_column) REFERENCES parent_table (parent_key) ON DELETE RESTRICT;
Salin selepas log masuk

Arahan ini mencipta kekangan kunci asing baharu dengan ON DELETE RESTRICT, dengan berkesan menghalang baris induk daripada dipadamkan jika baris tersebut mempunyai baris anak yang berkaitan.

Nota : Sebelum membuat perubahan ini, pastikan data jadual adalah konsisten dengan rujukan yang diingini tindakan.

Atas ialah kandungan terperinci Bagaimana untuk Mengubah Tindakan Rujukan Kunci Asing daripada ON DELETE CASCADE kepada ON DELETE RESTRICT?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan