MySQL-Aktualisierungsabfrage mit linkem Join
Table Schema
Tabellenname:file_manager_folder
Reihen:id
, parentId
, name
Meine Abfrage simuliert das Verschieben eines Ordners in einen anderen Ordner und akzeptiert ein Array mit IN (?).
Ich möchte, dass mein Update nur dann einen Ordner 'verschiebt', wenn es noch keinen Ordner mit derselben Eltern-ID und demselben Namen gibt. Das Verhalten, das Sie unter einem normalen Dateisystem erwarten würden.
So zum Beispiel:
UPDATE file_manager_folder set parentId = 54 where id IN( '1','2',3')
Würde eine Abfrage sein, die nichts über die Eltern-ID und den Namen prüft ... Aber wie kann ich den linken Join zum Laufen bringen.
Hier ist eine, die ich ausprobiert habe .. die funktioniert überhaupt nicht.
SELECT * FROM
file_manager_folders as a
LEFT JOIN file_manager_folders as b on a.id = b.id
WHERE b.id IS NOT NULL and a.id IN("1","2","3") and a.parentId = 54
UPDATE table1 LEFT JOIN table2 SET t1.x = t2.y ON condition WHERE conditions