MyBB.de Forum

Normale Version: Problem mit MySQL Delete
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Ich habe mal wieder ein kleines Problem und komme nicht weiter... Wink

Mit
Code:
SELECT * FROM `prak_threadviewer` t
WHERE NOT EXISTS (
    SELECT uid
    FROM `prak_users` u
    WHERE t.uid = u.uid
)
frage ich ab, welche uid's in der Tabelle "threadviewer" vorhanden, aber als user nicht mehr in der entsprechenden Tabelle zu finden sind. Das Ergebnis wird korrekt ausgegeben.

Wenn ich aber nun
Code:
DELETE FROM `prak_threadviewer` t
WHERE NOT EXISTS (
    SELECT uid
    FROM `prak_users` u
    WHERE t.uid = u.uid
)
durchführen möchte, erhalten ich einen MySQL Syntax fehler... Sad

Wo ist der denn versteckt?
Wie lautet denn der genau Fehler? Ich habe NOT EXISTS noch nie benutzt.
Fehlermeldung:
Zitat:#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 't WHERE NOT EXISTS ( SELECT uid FROM `prak_users` u WHERE t.uid = u.uid ' at line 1

Wenn es tatsächlich an der MySQL-Version (5.1.56-0.dotdeb.0) liegen würde, dann frage ich mich, warum SELECT durchgeführt wird, aber DELETE nicht.
Das Syntax bei der Befehle unterscheidet sich stark, ich schätze so geht es einfach nicht.
Ok, habe gerade gelesen, dass MySQL die Funktion DELETE tatsächlich in diesem Fall nicht unterstützt. Muss ich mir also anders behelfen und darf das "NOT EXISTS" nicht nutzen....


Nachtrag:

so geht's Wink
Code:
DELETE FROM `prak_threadviewer`
WHERE uid NOT IN (
SELECT `uid` FROM `prak_users`
)