Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Memadamkan Baris Merentasi Pelbagai Jadual dengan betul dalam MySQL?
Pemadaman silang jadual MySQL: penyelesaian masalah ralat sintaks
Dalam MySQL, memadamkan baris daripada berbilang jadual secara serentak memerlukan sintaks pertanyaan khas. Apabila cuba melaksanakan pertanyaan padam berikut:
<code class="language-sql">DELETE FROM `pets` p, `pets_activities` pa WHERE p.`order` > :order AND p.`pet_id` = :pet_id AND pa.`id` = p.`pet_id`</code>
Anda mungkin menghadapi ralat berikut:
<code>Uncaught Database_Exception [ 1064 ]: You have an error in your SQL syntax; check the manual...</code>
Ralat ini berpunca daripada ralat sintaks dalam pemadaman silang jadual. Untuk menyelesaikan masalah ini, gunakan JOIN dalam kenyataan DELETE:
<code class="language-sql">DELETE p, pa FROM pets p JOIN pets_activities pa ON pa.id = p.pet_id WHERE p.order > :order AND p.pet_id = :pet_id</code>
Sebagai alternatif, untuk memadam hanya daripada jadual pets_activities
, anda boleh menggunakan:
<code class="language-sql">DELETE pa FROM pets_activities pa JOIN pets p ON pa.id = p.pet_id WHERE p.order > :order AND p.pet_id = :pet_id</code>
Dengan menggunakan pernyataan JOIN dengan cara ini, anda boleh melaksanakan operasi pemadaman silang jadual dengan cekap dalam MySQL. Perlu diingat bahawa pendekatan ini juga berfungsi untuk pemadaman satu jadual dengan integriti rujukan.
Atas ialah kandungan terperinci Bagaimana untuk Memadamkan Baris Merentasi Pelbagai Jadual dengan betul dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!