选择要插入到具有条件的表中的列

时间:2017-12-09 15:28:56

标签: mysql sql

我正在开发一个项目,我需要从备份表中获取img路径,并根据项目名称是否完美匹配(因为id的变化)将其插入到新表的图像路径列中。

这是我尝试过的,但是收到找不到items.prod_name列的错误:

的MySQL

INSERT INTO items (img_path) 
SELECT img_path
FROM items_backup 
WHERE items.prod_name = items_backup.prod_name

2 个答案:

答案 0 :(得分:0)

您似乎想要update,而不是insert。 MySQL中的语法是:

update items i join
       items_backup ib
       on i.prod_name = ib.prod_name
    set i.img_path = ib.img_path;

答案 1 :(得分:0)

跟进我的评论:

UPDATE items 
INNER JOIN items_backup ON items.prod_name = items_backup.prod_name
SET items.img_path = items_backup.img_path