Обновление одной таблицы mysql на основе расчетов с использованием переменных в другой таблице - PullRequest
1 голос
/ 29 октября 2009

Я пытаюсь обновить одну таблицу на основе значений в другой таблице. Что не так со следующим запросом? Ошибка: Unknown column 'source.col3' in 'where clause'

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

1 Ответ

6 голосов
/ 29 октября 2009

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...