Я пытаюсь обновить таблицу следующим образом:
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
Я могу сделать foreach()
, но он отправит более 50 отдельных запросов, которые очень медленные.
Вот почему я хочу, чтобы он был объединен в один большой запрос.
(для каждой строки используется id, но комбинация game_id, x и y что я использую для определения нужной строки.)
Функция update_batch() от codeIgniter, описанная здесь: Обновить пакет с помощью CodeIgniter был полезен и почти идеален, но он допускает только одно предложение where, вы не можете (насколько я понял и попытался) ввести массив с несколькими предложениями.
Я также проверил этот вопрос: MYSQL UPDATE SET в том же столбце, но с несколькими предложениями WHERE Но это разрешает только несколько обновлений строк, содержащих только одно другое предложение WHERE, и мне нужно несколько предложений WHERE!:)
Anwsers могут быть в простом SQL или с использованием php (и CodeIgniter) или иным способом. Я бы эту проблему решал любым возможным способом;)
Я действительно могу использовать совет/помощь!= D