@thisuserhatephp
Офлайн - losers Онлайн - lusers

Как сделать множественный update?

Нужно сделать такой запрос:
UPDATE first_table, second_table
SET first_table.count = first_table.count + second_table.total_count,  
second_table.total_count = 0
WHERE second_table.id = :id
AND first_table.id = second_table.id


Значение из таблицы second_table.total_count прибавить к first_table.count и потом second_table.total_count, задать значение - 0

Если убрать second_table.total_count = 0 из запроса, то все работает.

Это конечно же можно было бы сделать двумя запросами, но хотелось бы узнать, можно ли обойтись одним запросом и как это сделать ?
  • Вопрос задан
  • 165 просмотров
Решения вопроса 1
rozhnev
@rozhnev Куратор тега MySQL
Fullstack programmer, DBA, медленно, дорого
Ваш запрос работает корректно, хотя лучше использовать JOIN синтакс:
UPDATE first_table
JOIN second_table ON first_table.id = second_table.id
SET first_table.count = first_table.count + second_table.total_count,  second_table.total_count = 0
WHERE second_table.id = 1;


MySQL fiddle here
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы