使用另一个表中的变量基于计算更新一个mysql表

时间:2009-10-29 06:41:28

标签: mysql sql sql-update

我正在尝试根据另一个表中的值更新一个表。以下请求有什么问题?错误:Unknown column 'source.col3' in 'where clause'

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

1 个答案:

答案 0 :(得分:6)

好吧,对于一个你没有在任何地方指定'source'作为一个表。

MySQL实际上支持multiple table update,因此您可以将代码编写为:

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

现在,如果不知道更多关于你的桌子的话,那是否会真正做你想要的事情。