Einzelnen Beitrag anzeigen

Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#1

Problem mit Exists

  Alt 24. Sep 2006, 11:51
Datenbank: mySQL • Version: 4.0.26 • Zugriff über: PHP-Funktionen
Moin,

ich habe ein kleines Problem. Ich will folgendes Query ausfuehren:
SQL-Code:
DELETE FROM phpbb_topics_watch wt
  WHERE NOT EXISTS (
    SELECT topic_id FROM phpbb_topics t
    WHERE t.topic_id = wt.topic_id
  )
Der Server quittiert dies allerdings mit folgender Fehlermeldung:
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 'wt WHERE NOT EXISTS (SELECT user_id FROM phpbb_users


Auch folgendes Query funktioniert nicht, also liegt es nicht am DELETE, sondern wirklich am EXISTS:
SQL-Code:
SELECT wt.* FROM phpbb_topics_watch wt
  WHERE NOT EXISTS (
    SELECT topic_id FROM phpbb_topics t
    WHERE t.topic_id = wt.topic_id
  )
Das mySQL-Manual unterscheidet hier nicht zwischen 3.23, 4.0 und 4.1, gibt es EXISTS ueberhaupt in mySQL 4.0? Wenn nicht, wie kann ich dasselbe anders loesen, ohne zuerst manuell das Subquery auszufuehren zu muessen, und dann die IDs manuell in das Query reinzuschieben?

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat