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
Du musst angemeldet sein, um einen Kommentar abzugeben.
geben diesem einen Versuch, mithilfe
CASE
InformationsquelleAutor der Antwort John Woo