Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Memadam Rekod dengan Selamat daripada Berbilang Jadual MySQL?

Bagaimana untuk Memadam Rekod dengan Selamat daripada Berbilang Jadual MySQL?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-19 10:37:09272semak imbas

How to Safely Delete Records from Multiple MySQL Tables?

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!

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