Mysql 如何选择值,然后更新字段
我有两个表,一个存储旧img的idMysql 如何选择值,然后更新字段,mysql,sql,Mysql,Sql,我有两个表,一个存储旧img的id id | old_img_name | old_img_id 和另一个存储当前img信息的表 id |img_name | img_w | img_h | etc.... 我正在尝试创建一个查询来更新将旧表中的信息切换到新表中,我要更新的唯一字段是img_名称 为此,我创建了两个查询: SELECT id, old_img_id, old_img_name FROM `img_archives` WHERE id = 3 UPDATE imgs SET
id | old_img_name | old_img_id
和另一个存储当前img信息的表
id |img_name | img_w | img_h | etc....
我正在尝试创建一个查询来更新将旧表中的信息切换到新表中,我要更新的唯一字段是img_名称
为此,我创建了两个查询:
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;
not不起作用在mysql中,使用join的更新应使用此sintax
-- 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;
如果要更新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"
在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"
更多信息请点击此处:
更多信息请点击此处:
为什么它不起作用?哪个部分不工作?另外,如果要将图像名称从一个表更新到另一个表,为什么img_名称要硬编码以进行测试?因为我丢失了,我不知道如何在一个查询中从另一个表中获取名称为什么不工作?哪一部分不起作用?另外,如果您想将图像名称从一个表更新到另一个表,为什么img_名称要硬编码以进行测试?因为这样,我丢失了,我不知道如何在一个查询中从另一个表中获取名称。我正在尝试您的解决方案,我不断收到以下错误:1064-您的SQL语法有错误;检查与您的MariaDB服务器版本对应的手册,以获取正确的语法,以便使用“来自imgs内部连接”的near,我正在尝试您的解决方案,我不断收到以下错误:1064-您的SQL语法有错误;检查与您的MariaDB服务器版本相对应的手册,了解使用“来自imgs内部联接”的正确语法