Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Memadam Rekod dengan Betul dari Jadual Bergantung Selepas Memadam dari Jadual Utama dalam MySQL?

Bagaimana untuk Memadam Rekod dengan Betul dari Jadual Bergantung Selepas Memadam dari Jadual Utama dalam MySQL?

Susan Sarandon
Lepaskan: 2024-11-03 08:18:02
asal
874 orang telah melayarinya

How to Correctly Delete Records from a Dependent Table After Deleting from the Main Table in MySQL?

MySQL Trigger: Padam Rekod daripada Jadual Bergantung Selepas Pemadaman dalam Jadual Utama

Dalam skema pangkalan data, adalah perkara biasa untuk mempunyai berbilang jadual dengan hubungan antara mereka. Apabila rekod dimanipulasi dalam jadual utama, mungkin perlu juga melakukan tindakan yang sepadan pada jadual bergantung. Pencetus MySQL menyediakan cara yang mudah untuk mengautomasikan operasi sedemikian.

Pertimbangkan senario di mana jadual yang dipanggil pelanggan menyimpan maklumat tentang individu dan jadual berkaitan yang dipanggil patron_info mengandungi butiran tambahan untuk setiap penaung. Apabila penaung dialih keluar daripada jadual pelanggan, adalah wajar untuk memadamkan juga maklumat yang sepadan mereka daripada jadual patron_info.

Untuk mencapai ini, pencetus DELETE boleh digunakan. Walau bagaimanapun, ralat sintaks ditemui semasa cuba mencipta pencetus menggunakan kod:

CREATE TRIGGER log_patron_delete AFTER DELETE on patrons
FOR EACH ROW
BEGIN
DELETE FROM patron_info
    WHERE patron_info.pid = patrons.id
END
Salin selepas log masuk

Ralat (1046: Semak sintaks berhampiran END pada baris 6) menunjukkan isu dengan sintaks kod pencetus. Apabila diteliti lebih dekat, sintaks old.id harus digunakan dan bukannya patrons.id dalam pernyataan DELETE untuk merujuk ID penaung yang dipadamkan dengan betul.

Kod pencetus yang diperbetulkan adalah seperti berikut:

CREATE TRIGGER log_patron_delete AFTER DELETE on patrons
FOR EACH ROW
BEGIN
DELETE FROM patron_info
    WHERE patron_info.pid = old.id;
END
Salin selepas log masuk

Adalah penting untuk ambil perhatian bahawa penggunaan pembatas (seperti $ atau //) mungkin diperlukan apabila memasukkan kod pencetus dalam tetingkap konsol untuk mengendalikan aksara tertentu dalam kod. Selain itu, jangan lupa untuk menyertakan koma bertitik pada penghujung penyataan PADAM.

Dengan mengikut garis panduan ini, pencetus akan berjaya memadamkan rekod daripada jadual patron_info apabila rekod dipadamkan daripada jadual pelanggan, memastikan data ketekalan dan integriti dalam pangkalan data.

Atas ialah kandungan terperinci Bagaimana untuk Memadam Rekod dengan Betul dari Jadual Bergantung Selepas Memadam dari Jadual Utama dalam 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan