Обновление одной таблицы mysql на основе расчетов с использованием переменных в другой таблице

StackOverflow https://stackoverflow.com/questions/1641974

  •  10-07-2019
  •  | 
  •  

Вопрос

Я пытаюсь обновить одну таблицу на основе значений в другой таблице. Что не так со следующим запросом? Ошибка: Неизвестный столбец «source.col3» в «предложении where»

UPDATE target 
  SET target.col1 = source.col1 * target.col2,
WHERE target.col3 = source.col3
Это было полезно?

Решение

Ну, во-первых, вы нигде не указываете «источник» как таблицу.

MySQL фактически поддерживает обновление нескольких таблиц , поэтому вы мог бы написать свой код как:

UPDATE target, source
   SET target.col1=source.col1*target.col2
 WHERE target.col3=source.col3

Теперь, если бы это действительно делало то, что вы хотите, я не могу сказать, не зная больше о ваших таблицах.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top