Aktualisieren Sie mehrere Zeilen mit mehreren Where-Klauseln für jede einzelne Zeile

Ich versuche zu aktualisieren meine Tabelle so Aussehen:

Update MyTable 
SET value     = 1 
WHERE game_id = 1,
      x       =-4,
      y       = 8

SET value     = 2 
WHERE game_id = 1,
      x       =-3,
      y       = 7

SET value     = 3 
WHERE game_id = 2,
      x       = 5,
      y       = 2

Kann ich eine foreach() aber das wird senden über 50 separate Abfragen, die sehr langsam ist.
Das ist, warum ich will, dass es zusammen in 1 großen Abfrage.

( Ich verwende eine id für jede Zeile, aber die Kombination von game_idx und y ist, was ich verwenden, um die Zeile Identifizieren, die ich brauche. )

Den update_batch () - Funktion von codeIgniter hier beschrieben:
Update batch mit CodeIgniter
war hilfreich und fast perfekt, aber es erlaubt nur 1 einzige where-Klausel, die Sie nicht (soweit ich das verstanden und versucht) geben Sie ein array mit mehreren where-Klauseln.

Habe ich auch ausgecheckt diese Frage:
MYSQL-UPDATE auf der Gleichen Spalte, aber mit mehreren WHERE-Klauseln
Es ist aber nur erlaubt für mehrere Zeilen-Aktualisierungen, die nur einen einzelnen verschiedenen WHERE-Klausel, und ich brauche mehrere WHERE-Klauseln! 🙂

Anwsers kann in einfachen SQL-oder mit der Verwendung von php (und CodeIgniter) oder in einer anderen Weise. Ich würde dieses problem gelöst werden, jede mögliche Art und Weise 😉

Kann ich wirklich die Ratschläge/Hilfe! =D

InformationsquelleAutor der Frage Dex | 2013-03-11

Schreibe einen Kommentar