Hallo Leute!
Ich hab eine MySQL Tabelle und arbeite in C unter Linux und hab mit einem Befehl ein Problem. Der Befehl sieht so aus:
Es kommt immer dieser Fehler:
Wenn ich das "UPDATE tabelle1 SET ID_LINK = " weg lasse, gehts. Allerdings wird (logischerweise) nichts in meine Tablle eingetragen. Wo liegt denn da der Fehler? Wie kann ich den umgehen? Ein Beispiel wäre echt gut. Danke schon mal für euere Antworten!
Gruß
Buba
Ich hab eine MySQL Tabelle und arbeite in C unter Linux und hab mit einem Befehl ein Problem. Der Befehl sieht so aus:
Code:
sql = "UPDATE tabelle1 SET ID_LINK = (SELECT DISTINCT t2.PACKET_ID FROM tabelle1,
(SELECT DISTINCT TIMESTAMP, PACKET_ID FROM tabelle1 WHERE SRC_IP IN
(SELECT DISTINCT DST_IP FROM tabelle1 WHERE PACKET_ID)) AS t2 WHERE
tabelle1.PACKET_ID = t2.PACKET_ID AND
abs(unix_timestamp(tabelle1.TIMESTAMP) - unix_timestamp(t2.TIMESTAMP)) < 300)";
Es kommt immer dieser Fehler:
You can`t specify table 'tabelle1' for update in FROM clause
Wenn ich das "UPDATE tabelle1 SET ID_LINK = " weg lasse, gehts. Allerdings wird (logischerweise) nichts in meine Tablle eingetragen. Wo liegt denn da der Fehler? Wie kann ich den umgehen? Ein Beispiel wäre echt gut. Danke schon mal für euere Antworten!
Gruß
Buba