ich so meine Tabelle zu aktualisieren, ich versuche:aktualisieren mehrere Zeilen mit mehreren ‚wo‘ Klauseln für jede einzelne Zeile
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
Ich kann ein foreach()
tun, aber das wird mehr als 50 separaten Abfragen, die senden ist sehr langsam . Deshalb möchte ich es in 1 große Abfrage kombiniert werden.
(verwende ich eine ID für jede Zeile, aber die Kombination von game_id, x und y ist, was ich die Zeile identifizieren verwenden, ich brauche.)
Die update_batch() Funktion von codeIgniter hier beschrieben: Update batch with CodeIgniter war hilfreich und fast perfekt, aber es nur für eine einzige WHERE-Klausel erlaubt, können Sie nicht (soweit ich es verstanden und versuchte) ein Array mit mehreren WHERE-Klauseln eingeben.
Ich habe auch geprüft, diese Frage aus: MYSQL UPDATE SET on the Same Column but with multiple WHERE Clauses Aber es erlaubt nur für mehrreihige Updates nur eine einzige andere enthält WHERE-Klausel und ich mehrere WHERE-Klauseln müssen! :)
Anwsers können in einfacher SQL oder mit der Verwendung von PHP (und CodeIgniter) oder auf andere Weise sein. Ich würde dieses Problem auf jede mögliche Weise lösen;)
Ich kann wirklich den Rat/die Hilfe nutzen! = D
Sie mit Dank! Ich werde es jetzt ausprobieren! – Dex
sicher sein, Ihre Datenbank zuerst zu sichern ': D' –
Es hat funktioniert, danke, du bist mein Held! =) – Dex