我试图更新名为ctcode的表中名为partnumber的行,从名为ctcode的表中的families行复制值。但是,我的SQL语句返回“where子句”中的“未知列”families.parent“错误。
这是我的SQL语句

UPDATE `partnumber`
SET `partnumber`.`ctcode`=`families`.`ctcode`
WHERE `partnumber`.`partnumber`=`families`.`parent`;

我的陈述怎么了?有没有更有效的方法来做这件事?

最佳答案

基本上,即使在UPDATE语句中也可以连接这两个表,

UPDATE `partnumber` a INNER JOIN `families` b
          ON a.`partnumber` = b.`parent`
SET    a.`ctcode`= b.`ctcode`

关于mysql - 使用另一个表中的值更新表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12362263/

10-10 14:26