将mysql中的行从一个表更新到另一个表

时间:2013-11-19 16:41:34

标签: mysql phpmyadmin

我正在尝试运行一个查询,将行从一个表更新到另一个表。我想从shopping_cat_id中获取值,并将它们放入ids匹配的表商家的现有行中。

这是我的查询,它给了我错误1064 ..

UPDATE `merchants` SET `category_id`=[shopping_cat_id] WHERE merchants.id = shopping.shopping_id


(SELECT shopping_id, shopping_cat_id FROM shopping)

1 个答案:

答案 0 :(得分:4)

试试这个:

UPDATE merchants m 
    inner join shopping s on 
               m.id = s.shopping_id
   SET m.category_id=s.shopping_cat_id

当然应该有一些where子句。除非您想要全部更新。