Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Menambah 'ON DELETE CASCADE' kepada Kekangan Utama Asing Sedia Ada dalam SQL?

Bagaimanakah Saya Boleh Menambah 'ON DELETE CASCADE' kepada Kekangan Utama Asing Sedia Ada dalam SQL?

Barbara Streisand
Barbara Streisandasal
2024-12-17 10:26:25110semak imbas

How Can I Add

Mengubah suai Kekangan dalam SQL

Dalam SQL, kekangan memainkan peranan penting dalam mengekalkan integriti data dan memastikan ketekalan data dalam jadual. Satu tugas biasa ialah mengubah kekangan sedia ada untuk menambah atau mengubah suai sifatnya. Artikel ini akan membimbing anda melalui langkah-langkah mengubah kekangan, khususnya menumpukan pada cara menambah klausa "ON DELETE CASCADE" pada kekangan kunci asing sedia ada.

Kekangan Asal:

Andaikan anda mempunyai kekangan kunci asing sedia ada yang dinamakan ACTIVEPROG_FKEY1:

CONSTRAINT ACTIVEPROG_FKEY1 FOREIGN KEY(ActiveProgCode) REFERENCES PROGRAM(ActiveProgCode),

Mengubah Kekangan:

Anda mahu menambah klausa "ON DELETE CASCADE" pada kekangan sedia ada. Klausa ini menyatakan bahawa jika rekod dipadamkan daripada jadual induk (PROGRAM), sebarang rekod yang sepadan dalam jadual anak (ACTIVEPROG) juga harus dipadamkan secara automatik.

Langkah-Langkah untuk Mengubah Kekangan:

Walau bagaimanapun, tidak seperti objek pangkalan data lain, kekangan tidak menyokong pengubahsuaian langsung. Sebaliknya, kekangan sedia ada mesti digugurkan dan dicipta semula dengan pengubahsuaian yang diingini:

  1. Lepaskan Kekangan Sedia Ada:

    ALTER TABLE your_table DROP CONSTRAINT ACTIVEPROG_FKEY1;
  2. Buat Semula Kekangan dengan "ON DELETE CASCADE":

    ALTER TABLE your_table
    ADD CONSTRAINT ACTIVEPROG_FKEY1 FOREIGN KEY(ActiveProgCode) REFERENCES PROGRAM(ActiveProgCode)
    ON DELETE CASCADE;

Dengan mengikut langkah ini, anda boleh berjaya mengubah kekangan sedia ada ACTIVEPROG_FKEY1 untuk menambah klausa "ON DELETE CASCADE". Ini akan memastikan bahawa sebarang pemadaman dalam jadual induk secara automatik mencetuskan pemadaman bertingkat bagi rekod berkaitan dalam jadual anak.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menambah 'ON DELETE CASCADE' kepada Kekangan Utama Asing Sedia Ada dalam SQL?. 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