Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Memadam Baris Menggunakan LEFT JOIN dalam MySQL?
Memadam Baris Menggunakan LEFT JOIN dalam MySQL
Dalam MySQL, mencipta LEFT JOIN boleh menjadi alat yang berkuasa untuk mendapatkan semula data daripada berbilang jadual. Walau bagaimanapun, cubaan menggunakan sintaks LEFT JOIN yang sama untuk operasi PADAM boleh mengakibatkan kekaburan dan ralat.
Masalahnya
Pertimbangkan senario di mana kita mempunyai "tarikh akhir " meja dan jadual "kerja". Setiap kerja mempunyai status, dan status tertentu menunjukkan bahawa tarikh akhir yang berkaitan harus dipadamkan. LEFT JOIN boleh digunakan untuk memilih baris yang diingini:
SELECT * FROM `deadline` LEFT JOIN `job` ON deadline.job_id = job.job_id WHERE `status` = 'szamlazva' OR `status` = 'szamlazhato' OR `status` = 'fizetve' OR `status` = 'szallitva' OR `status` = 'storno'
Walau bagaimanapun, apabila cuba memadamkan baris ini menggunakan sintaks LEFT JOIN yang sama:
DELETE FROM `deadline` LEFT JOIN `job` ON deadline.job_id = job.job_id WHERE `status` = 'szamlazva' OR `status` = 'szamlazhato' OR `status` = 'fizetve' OR `status` = 'szallitva' OR `status` = 'storno'
MySQL akan menimbulkan ralat .
The Penyelesaian
Untuk berjaya memadamkan baris, kita perlu menyatakan secara eksplisit jadual yang akan terjejas. Ini dilakukan dengan meletakkan nama jadual sebelum kata kunci DELETE.
Memadam Baris Tarikh Akhir Sahaja
Untuk memadamkan baris tarikh akhir sahaja, gunakan pertanyaan berikut:
DELETE `deadline` FROM `deadline` LEFT JOIN `job` ON deadline.job_id = job.job_id WHERE `status` = 'szamlazva' OR `status` = 'szamlazhato' OR `status` = 'fizetve' OR `status` = 'szallitva' OR `status` = 'storno'
Memadamkan Tarikh Akhir dan Kerja Baris
Untuk memadam kedua-dua tarikh akhir dan baris kerja, gunakan pertanyaan berikut:
DELETE `deadline`, `job` FROM `deadline` LEFT JOIN `job` ON deadline.job_id = job.job_id WHERE `status` = 'szamlazva' OR `status` = 'szamlazhato' OR `status` = 'fizetve' OR `status` = 'szallitva' OR `status` = 'storno'
Memadam Baris Kerja Sahaja
Untuk padamkan baris kerja sahaja, gunakan pertanyaan berikut:
DELETE `job` FROM `deadline` LEFT JOIN `job` ON deadline.job_id = job.job_id WHERE `status` = 'szamlazva' OR `status` = 'szamlazhato' OR `status` = 'fizetve' OR `status` = 'szallitva' OR `status` = 'storno'
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memadam Baris Menggunakan LEFT JOIN dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!