Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Memadam Baris Menggunakan LEFT JOIN dalam MySQL?

Bagaimanakah Saya Boleh Memadam Baris Menggunakan LEFT JOIN dalam MySQL?

DDD
DDDasal
2024-11-29 03:53:17321semak imbas

How Can I Delete Rows Using a LEFT JOIN in 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!

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