Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Memadam Rekod dari Jadual Kanak-kanak Menggunakan JOIN dalam MySQL?
Gunakan JOIN untuk memadam rekod subtable dalam MySQL
Dalam pangkalan data hubungan seperti MySQL, pemadaman rekod mungkin melibatkan berbilang jadual dan hubungan kompleks. Satu senario ialah apabila anda perlu memadamkan rekod daripada jadual anak berdasarkan syarat yang melibatkan jadual induk.
Adegan:
Pertimbangkan struktur pangkalan data berikut:
Sasaran:
Andaikan anda ingin memadamkan semua siaran yang dikaitkan dengan klien tertentu dengan memadamkan klien itu sendiri. Walau bagaimanapun, jadual siaran tidak merujuk client_id secara langsung. Ia hanya merujuk project_id.
Percubaan awal (tidak sah):
<code class="language-sql">DELETE FROM posts INNER JOIN projects ON projects.project_id = posts.project_id WHERE projects.client_id = :client_id;</code>
Penyelesaian:
Untuk membetulkan masalah dan berjaya memadamkan siaran, anda perlu menentukan nama jadual (siaran) dalam kenyataan DELETE:
<code class="language-sql">DELETE posts FROM posts INNER JOIN projects ON projects.project_id = posts.project_id WHERE projects.client_id = :client_id;</code>
Pertanyaan yang diubah suai ini secara eksplisit menyasarkan jadual siaran untuk dipadamkan berdasarkan syarat penyertaan.
Atas ialah kandungan terperinci Bagaimana untuk Memadam Rekod dari Jadual Kanak-kanak Menggunakan JOIN dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!