Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Memadam Data dengan Betul dari Satu Jadual Selepas Memadam dari Lain Menggunakan Pencetus MySQL?
Pencetus MySQL: Memadam daripada Satu Jadual Selepas Memadam daripada yang Lain
Masalah:
Anda ingin mencipta pencetus yang memadamkan baris secara automatik daripada Jadual 2 (patron_info) apabila baris dipadamkan daripada Jadual 1 (penaung). Walau bagaimanapun, anda menghadapi ralat sintaks semasa mencipta pencetus.
Penyelesaian:
Ralat mungkin disebabkan oleh sintaks yang salah dalam pernyataan DELETE dalam pencetus . Khususnya, anda perlu menggunakan old.id dan bukannya patrons.id untuk merujuk kepada ID baris yang dipadamkan, mengikut pencetus berikut:
<code class="sql">CREATE TRIGGER log_patron_delete AFTER DELETE ON patrons FOR EACH ROW BEGIN DELETE FROM patron_info WHERE patron_info.pid = old.id; END</code>
Pastikan anda memasukkan ; pada penghujung pernyataan DELETE, dan semak sintaks yang betul pada bahagian pencetus yang lain juga.
Selain itu, ingat untuk menggunakan pembatas apabila memasukkan kod pencetus dalam tetingkap konsol. Contohnya, anda boleh menggunakan $ sebagai pembatas, seperti:
<code class="sql">DELIMITER $ CREATE TRIGGER log_patron_delete AFTER DELETE ON patrons FOR EACH ROW BEGIN DELETE FROM patron_info WHERE patron_info.pid = old.id; END$ DELIMITER ; $</code>
Atas ialah kandungan terperinci Bagaimana untuk Memadam Data dengan Betul dari Satu Jadual Selepas Memadam dari Lain Menggunakan Pencetus MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!