Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

MySql помогите правильно составить запрос с подзапросом

Артем Нехай Ученик (112), на голосовании 1 год назад
Вот запрос
UPDATE `bank` SET `money2`=`money2`+2 WHERE `uid` = ( SELECT `id` FROM `users` WHERE `online` > 0); DESC;

в ответе ошибка
#1242 - Подзапрос возвращает более одной записи

Как перестроить запрос чтоб обновляла все вернувшие значения?
Голосование за лучший ответ
Jurijus Zaksas Искусственный Интеллект (445767) 1 год назад
Все, как всегда, есть в документации:

https://www.mysqltutorial.org/mysql-update-join/
Артем НехайУченик (112) 1 год назад
Я не силен в програмиировании, может вы могли бы подправить код? Для меня документация дремучий лес...
Sergio 2.1 Оракул (67276) 1 год назад
Один из способов обновления всех строк, которые возвращаются подзапросом, - это использование оператора IN вместо оператора =. Вот пример запроса, который вы можете использовать:
 UPDATE `bank` 
SET `money2` = `money2` + 2
WHERE `uid` IN (SELECT `id` FROM `users` WHERE `online` > 0);
Артем НехайУченик (112) 1 год назад
Вы мой герой огромное вам спасибо!
IRQ Оракул (53026) 1 год назад
Ты разве не видишь что твой запрос полностью кривой? Что ты хочешь обновить?
Артем НехайУченик (112) 1 год назад
уже все сделали. А запрос кривой по тому что я такой же прогер как с писюна молоток.... 2 дня его писал
IRQ Оракул (53026) Артем Нехай, ну основы-то изучить это же не долго. Не 2 дня точно.
Похожие вопросы