Ich versuche, zwei Spalten in einer Tabelle zu aktualisieren, um den IN-Operator alsVerwirrung in Bezug auf Betreiber
mysql_query("UPDATE table SET value = value + 1 WHERE column IN ('row1' , 'row2')");
verwenden, aber ich bin zu bemerken, dass der Wert in row1 & row2 nicht richtig aktualisiert, wie ich gedacht hatte, . Ich habe versucht mit dem gleichen Code in localhost, es funktionierte aber auf dem Testserver mit ca. 15-20 Treffern pro Stunde funktioniert es nicht. Ich blockierte sogar den gesamten Verkehr des Testservers und wartete auf mehr als 12 Stunden, wenn der Server nachhing, aber das half nicht.
änderte ich meinen Code
mysql_query("UPDATE table SET value = value + 1 WHERE column = 'row1'");
mysql_query("UPDATE table SET value = value + 1 WHERE column = 'row2'");
nun leicht erhöhten Verkehrsaufkommen, etwa 25-30 Hits pro Stunde die Echtzeit-Wert immer noch mit Ich begann.
Mache ich einen Fehler im Code, nahm Hilfe von here, oder gibt es irgendeine Beschränkung in der IN-Operator oder ist es die Fehler des Testservers?
Edit: Ich verwende einen kostenlosen Host.
'row1' und' row2' sind Ihre Werte, die Sie aktualisieren möchten? –
Können Sie Ihre Beobachtungen teilen? Da Sie den Spaltenwert inkrementieren, verwenden Sie interne MySQL-Transaktionen oder den Transaktionsbereich aus Code zum gegenseitigen Ausschluss? Und als Sie sagten, es funktionierte in localhost, wo Sie auf den gleichen MySQL-Server oder einen anderen verwiesen haben? –
@chiragsatapara Nein, 'row1' und' row2' sind zwei Parameter, in der Spalte sagen wir "Cat" und "Dog" in zwei separaten Reihen in der Spalte "Animals" und lassen den Wert "count" lauten. So etwas wie, _mysql_query ("UPDATE Tabelle zählt SET = count + 1 WHERE Spalte IN ('Katze', 'Dog')"); _ – NewBee