TabellenschemaMySQL Update-Abfrage eine LEFT JOIN
Tabelle Name: file_manager_folder
Reihen: id
, parentId
, name
Meine Abfrage simuliert einen Ordner in einen anderen Ordner verschieben und akzeptiert ein Array mit IN (?).
Ich möchte, dass mein Update nur einen Ordner 'verschiebt', wenn es nicht bereits einen Ordner mit derselben Eltern-ID und demselben Namen gibt. Die Art von Verhalten, das Sie unter normalen Dateisystemen erwarten würden.
So zum Beispiel:
UPDATE file_manager_folder set parentId = 54 where id IN('1','2',3')
Wäre eine Abfrage sein, die nichts überprüft über die parentId und Namen ... Aber wie kann ich die linke bekommen beitreten zu arbeiten.
Hier ist einer, den ich ausprobiert .. was total nicht funktioniert.
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
Das ist perfekt Bill. Ich kann sehen, ich hatte die Grundlagen an Ort und Stelle. Nur unglaublich daneben! Ich weiß nicht, wie du es so schnell geschafft hast. Ich konnte nicht herausfinden, womit ich mich verbinden wollte. – Layke