mySQL 5.5

oliverb

Mitglied
Ich habe eine Tabelle mit zwei Spalten als PRIMARY KEY. Nach dem "INSERT ON DUPLICATE KEY" möchte ich die nicht mehr benötigten Einträge löschen.

DELETE FROM `Table`
WHERE (row1,row2) NOT IN (SELECT (row1,row2) FROM `tmp_Table`)

Leider klappt das nicht mit dem obigen Code. Was mache ich falsch?
 
#1241 - Operand should contain 1 column(s)

Beide Tabellen haben die Identischen Keys und Spaltenreihenfolge. Natürlich gibt es noch mehrere Spalten als nur row1 und row2. Aber diese benannten Spalten sind die welche als PRIMARY KEY definiert sind!
 
Hat leider nichts gebracht. Immer noch die folgende Fehlermeldung:
#1241 - Operand should contain 1 column(s)

Angelegt habe ich den PRIMARY KEY in beiden Tabellen mit dem folgenden Code. Vielleicht hilft das ja?!
ALTER TABLE table
ADD CONSTRAINT id PRIMARY KEY (row1,row2)
 
So hat es jetzt geklappt... ;)

DELETE FROM `Table`
WHERE (row1,row2) NOT IN (SELECT row1,row2 FROM `tmp_Table`)

Danke für den Hinweis mit dem () im Subselect :)
 

Neue Beiträge

Zurück