Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Memadam Rekod dengan Selamat daripada Berbilang Jadual MySQL?
Pemadaman selamat berbilang jadual MySQL bagi rekod
Menggunakan kod berikut secara langsung untuk memadamkan baris daripada berbilang jadual secara serentak boleh mengakibatkan ralat:
<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>
Penyelesaian yang disyorkan ialah menggunakan kenyataan JOIN:
<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, anda boleh memadamkan sahaja rekod dalam jadual pets_activities
sambil merujuk jadual pets
:
<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>
Pendekatan ini menggunakan alias dalam klausa FROM
untuk menentukan jadual yang akan digugurkan dan amat berguna apabila menangani senario kompleks dengan integriti rujukan.
Atas ialah kandungan terperinci Bagaimana untuk Memadam Rekod dengan Selamat daripada Berbilang Jadual MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!