|
|
|
| Здравствуйте. Вопрос. Как сделать UPDATE нескольким строкам, как в INSERT INFO, там после VALUE можно куча скобок делать.
Смотрите. Есть запрос:
UPDATE table SET `cash` = cash+1 WHERE `id` = 14;
UPDATE table SET `cash` = cash+2 WHERE `id` = 15;
Как их обьединить?
У вас возникает вопрос, зачем оно нужно? А вот и ответ: в цикле вращается массив $user['id'] - ID пользоватея, $user['balance'] - баланс который нужно ему вставить. С точки зрения оптимизации нельзя делать запросы в цикле. Поэтому нужна артернатива. Это все сделать одним мега крутым запросом.
Помогите пожалуйста, кто сделает хорошо получит бакс на Webmoney! | |
|
|
|
|
|
|
|
для: pavluxa09
(16.07.2009 в 11:39)
| |
UPDATE table SET `cash` = cash+1 + (`id` = 15) WHERE `id` = 14 OR `id` = 15;
|
| |
|
|
|
|
|
|
|
для: Trianon
(16.07.2009 в 11:46)
| | Ошибка! Сумма которую мы даём разная будет а не одинаковая. У вас вы просто ID 15 даёте на еденицу больше, а нужно чтоб можно было любое число.
А можете расписать для трёх примеров. Ну там Id 14 и 15 а чтоб ещё 16. Чтоб я знал как формировать запрос в цикле. | |
|
|
|
|
|
|
|
для: pavluxa09
(16.07.2009 в 11:58)
| |
UPDATE table SET `cash` = cash+1 + (`id`-14) WHERE id in(14,15,16,17)
|
:) | |
|
|
|
|
|
|
|
для: pavluxa09
(16.07.2009 в 11:58)
| | или же
update table set cash=case when id=14 then 1 when id=15 then 2 end
where id in(14,15)
|
| |
|
|
|
|
|
|
|
для: pavluxa09
(16.07.2009 в 11:58)
| | по уму если подходить, то нужно таблицу создать с этой зависимостью. | |
|
|
|