Задать вопрос

Mysql update множественное обновление одним запросом

Здравствуйте, заранее извинюсь если кому то этот вопрос покажется детским.

Требуется обновить 5 записей в одной таблице в разных строках.
Тоесть SET filed=1 where id=1, SET filed=2 where id=12, SET filed='0.5' where id=3…

Описал как мог. Буду очень признателен если натолкнете на путь истинный
  • Вопрос задан
  • 37358 просмотров
Подписаться 17 Оценить 1 комментарий
Решения вопроса 1
try4tune
@try4tune
Ваше решение медленное. Эффективнее обновить по 1 полю за 1 запрос обычный, без join'ов.
Или использовать вот такой вариант, он гораздо эффективнее по производительности чем Ваш:

UPDATE `table` SET `field` = CASE `id`
WHEN val1 THEN data1
WHEN val2 THEN data2
ELSE `field` END

Только обязательно не забывайте ELSE.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
MuXaJIbI4
@MuXaJIbI4
еще можно так

INSERT INTO `table` (id, field) VALUES (1, 1), (2, 12), (3, 0.5) ON DUPLICATE KEY UPDATE field = VALUES(field)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 дек. 2024, в 20:34
3000 руб./за проект
22 дек. 2024, в 20:12
10000 руб./за проект
22 дек. 2024, в 19:47
3000 руб./за проект