Mailinglisten-Archive |
Hi, ich komm grad nicht weiter. Ich habe eine SELECT-Abfrage, die problemlos funktioniert, aber wenn ich das SELECT * durch ein DELETE ersetze, kommt folgende Fehlermeldung: #1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE NOT EXISTS ( SELECT * FROM `abc` [...] Query: SELECT * FROM `table1` AS t1 WHERE NOT EXISTS (SELECT * FROM `table2` AS t2 WHERE t2.t1id = t1.id) AND EXISTS (SELECT * FROM `table3` AS t3 WHERE t3.t1id = t1.id); --> funktioniert! bzw: DELETE FROM `table1` AS t1 WHERE NOT EXISTS (SELECT * FROM `table2` AS t2 WHERE t2.t1id = t1.id) AND EXISTS (SELECT * FROM `table3` AS t3 WHERE t3.t1id = t1.id); --> funktioniert nicht! Warum geht das mit SELECT, aber nicht mit DELETE? Ich könnte hier natürlich einfach erst die IDs abfragen und dann mit DELETE [...] WHERE id IN (...); die Datensätze löschen, das wäre aber irgendwie hässlich. Das muss doch mit einem Statement gehen. Fällt euch da was zu ein? -- Gruß Hannes
php::bar PHP Wiki - Listenarchive