mysql update select в одном запросе



Автор Александр Максимюк задал вопрос в разделе Другие языки и технологии

запрос в mysql (update) и получил лучший ответ

Ответ от Starik[гуру]
В MySQL нельзя напрямую делать выборку из той же таблицы, которую вы обновляете, в обычном подзапросе, так как это вызовет ошибку выполнения. Однако задачу обновления данных на основе выборки можно надежно решить с помощью синтаксиса JOIN внутри оператора UPDATE. Пример обновления поля pole2 значением из поля pole той же самой таблицы:UPDATE my_table AS t1
JOIN my_table AS t2 ON t2.id = 1
SET t1.pole2 = t2.pole
WHERE t1.id = 1;Если данные берутся из другой таблицы, подход остается тем же:UPDATE target_table AS t1
JOIN source_table AS t2 ON t1.match_id = t2.id
SET t1.pole2 = t2.pole;Такой метод работает быстро, избегает конфликтов блокировки и является стандартным способом реализовать mysql update select в одном запросе. Использование псевдонимов делает конструкцию понятной и удобной для поддержки.

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: запрос в mysql (update)

Mysql update по условию
where `date` = min(`date`) может быть?
или where `date` = (select min(`date`) from `table`)подробнее...

Как разместить комментарий в SQL запросе в access'е В mysql и в oracle используются -- и /**/
В окне базы данных выберите Запросы в списка Объекты, выберите представление, определяемую
подробнее...
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*