Mise à jour de plusieurs lignes avec plusieurs " où " clauses pour chaque ligne individuelle
Je suis en train de mettre à jour mon tableau comme ceci:
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
Je peux faire un foreach()
mais qui va envoyer plus de 50 Requêtes distinctes, qui est très lente.
C'est pourquoi je veux qu'il soit combiné en 1 grand Requête.
( J'utilise un id pour chaque ligne mais la combinaison de game_id, x et y est ce que j'utilise pour Identifier la ligne j'ai besoin. )
La update_batch() la fonction de codeIgniter est décrit ici:
Mise à jour par lot avec CodeIgniter
a été utile et presque parfait, mais il permet uniquement pour 1 seule clause where, vous ne pouvez pas (autant que je l'ai compris et essayé) entrez un tableau avec plusieurs clauses where.
J'ai aussi vérifié cette question:
MYSQL mise à JOUR sur la Même Colonne, mais avec de multiples Clauses where
Mais il permet uniquement pour de multiples mises à jour de lignes ne contenant qu'un unique différente dans le cas OÙ la clause et j'ai besoin de plusieurs clauses where! 🙂
Anwsers peut être en simple SQL ou avec l'utilisation de php (et CodeIgniter) ou d'une manière différente. J'avais ce problème à résoudre en aucune façon possible 😉
Je peux vraiment utiliser les conseils/une aide! =D
Vous devez vous connecter pour publier un commentaire.
donner à ceci un essai en utilisant
CASE
:D