Hello,
Weiss jemand warum das in PHP nicht will? Der Komplette PHP teil hier auch noch mal:
...
$try = "SET @temp = (SELECT max(SID) from WMSpiele);
UPDATE WMSpiele SET SID = @temp + 1 WHERE SID = 1;
UPDATE WMSpiele SET SID = 1 WHERE SID = 1 +1;
UPDATE WMSpiele SET SID = 1+1 WHERE SID = @temp + 1";
mysql_query($try) OR die(mysql_error());
Ja, mehrere Statements gebündelt in einem Query sind ohne besondere Konfiguration von MySQL nicht zulässig.
Dein Bedientool (phpMyAdnim) führt die auch nacheinander aus und, soweit ich weiß, sogar jedes mit einer eigenen Connection.
Außerdem müsstest Du für eine solche Aktion die Tabelle oder wenigstens die beiden betroffenen Datensätze sperren. Sowas versucht manaber möglichst zu vermeiden.
Es gibt eine "Formel" zum Tausch von laufenden Nummern in einem Statement. Die findest Du hier im Archiv. Müsste 2004/2005 sein.
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau
Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)
