Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何选择值,然后更新字段_Mysql_Sql - Fatal编程技术网

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

Mysql 如何选择值,然后更新字段,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

我有两个表,一个存储旧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 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内部联接”的正确语法