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

标签 mysql sql

我有两个表,一个存储旧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;

不是不工作

最佳答案

UPDATE imgs i INNER JOIN img_archives ia ON i.imgs_id = ia.old_img_id SET i.img_name = ia.old_img_name;

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

关于mysql - 如何选择一个值然后更新字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54794964/

相关文章:

java.sql.SQLException : Column count doesn't match value count at row 1 error

mysql - 如何通过 ssh(在 Mac 上)使用 Node 的 mysql 库?谷歌搜索后,我仍然得到 "channel 3: open failed: connect failed: Connection refused"

mysql 使用序列中的下一个值作为列的默认值

mysql - 在联接的派生表查询中使用 LIMIT

sql - 使用不存在的列时嵌套 SELECT "works"- 为什么?

MySQL 添加长文本列使查询极其缓慢 - 有什么性能提示吗?

mysql - 对于相同的值,它应该增加 1,不同的它应该被重置并给出结果

mysql - 在 CI 和分页结果操作中创建 A-Z 链接

mysql - 多行计算

java - 或 sql 查询在 java 系统中不起作用-在列中搜索数据