Heim >Datenbank >MySQL-Tutorial >Wie lösche ich Zeilen mit MySQL LEFT JOIN mit DELETE-Syntax?
Zeilen mit MySQL LEFT JOIN entfernen
Problem:
Sie haben zwei Tabellen: eine für Jobfristen und ein weiteres für Jobbeschreibungen. Sie müssen Termineinträge basierend auf den Status in der Stellenbeschreibungstabelle löschen. Die Verwendung eines LEFT JOIN zur Auswahl funktioniert, aber die Ausführung eines DELETE führt zu einem Syntaxfehler.
Abfrage zur Auswahl:
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'
Lösung:
Um den DELETE-Vorgang auszuführen, müssen Sie explizit die Tabellen angeben, aus denen Sie Zeilen löschen möchten. Hier sind die möglichen Optionen:
Nur Deadline-Zeilen löschen:
DELETE `deadline` FROM `deadline` LEFT JOIN `job` ....
Sowohl Deadline- als auch Job-Zeilen löschen:
DELETE `deadline`, `job` FROM `deadline` LEFT JOIN `job` ....
Nur Job löschen Zeilen:
DELETE `job` FROM `deadline` LEFT JOIN `job` ....
Durch Angabe der richtigen Tabelle in der DELETE-Anweisung können Sie die gewünschten Zeilen basierend auf dem Status in der Jobbeschreibungstabelle erfolgreich entfernen.
Das obige ist der detaillierte Inhalt vonWie lösche ich Zeilen mit MySQL LEFT JOIN mit DELETE-Syntax?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!