如何选择一个值,然后更新一个字段

时间:2019-02-20 20:45:47

标签: mysql sql mysqli

我有两个表,一个表存储旧img的ID

 id | old_img_name | old_img_id

和另一个存储当前img信息的表

id |img_name | img_w | img_h | etc....

并且我试图创建一个查询来将信息从旧表更新(切换)到新表中,我要更新的唯一字段是img_name。

我创建了两个查询来做到这一点:

SELECT id, old_img_id, old_img_name FROM `img_archives` WHERE id = 3

UPDATE imgs SET img_name = old_img_name  WHERE id = old_img_id 

我想把这两个查询合而为一,但是这样做有很多困难。

我已经尝试过:

UPDATE imgs SET img_name = img_archives_old_img_name FROM imgs INNER JOIN img_archives ON imgs_id = img_archives.old_img_id;

不起作用

3 个答案:

答案 0 :(得分:2)

main-config.js

更多信息在这里: http://www.mysqltutorial.org/mysql-update-join/

答案 1 :(得分:1)

-- this should do it
UPDATE imgs 
SET img_name = img_archives.old_img_name   
FROM imgs 
INNER JOIN img_archives ON imgs_id = img_archives.old_img_id;

答案 2 :(得分:1)

在mysql中,具有join的更新应使用此sintax 如果要更新id = 3

UPDATE imgs 
INNER JOIN img_archives ON imgs.imgs_id = img_archives.old_img_id 
    AND img_archives.id =  3
    SET img_name = "test"