当前位置: 首页 > 知识库问答 >
问题:

MYSQL-更新/内部连接[复制]

郭志
2023-03-14

我试图在我的SQL中用一个内部连接来做一个UPDATE语句。我已经做了示例,并将表名和表列编辑到我的表中。但我的MYSQL仍然不断给我一个错误(#1064)。

错误

您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册,在第5行的“来自收藏夹INNER JOIN图像ONfavorites.image=images.idW”附近使用正确的语法

SQL

UPDATE
  favorites
SET
  favorites.archive = 1
FROM
  favorites
INNER JOIN
  images
ON
  favorites.image_id = images.id
WHERE
  favorites.user_id = '1'

提前感谢您在这一点上帮助我。

谨致问候,

共有2个答案

闻人杰
2023-03-14

下面应该给您的诀窍。

UPDATE favorites 
INNER JOIN images ON favorites.image_id= images.id
SET favorites.archive = 1 
WHERE favorites.user_id = '1';
时仰岳
2023-03-14

MySQL中的更新语法不同。在Update语句中不能使用From子句。

它就像:

Update (all the tables with join relationships if any) 
Set (field = value/expression) 
Where (all the conditions)

请尝试以下查询:

UPDATE
  favorites 
INNER JOIN
  images
ON
  favorites.image_id = images.id
SET
  favorites.archive = 1
WHERE
  favorites.user_id = '1'

完整语法是:

UPDATE [LOW_PRIORITY] [IGNORE] table_reference
    SET assignment_list
    [WHERE where_condition]
    [ORDER BY ...]
    [LIMIT row_count]

value:
    {expr | DEFAULT}

assignment:
    col_name = value

assignment_list:
    assignment [, assignment] ...
 类似资料:
  • 问题内容: 好的,这是。我有两个表:product和product_sizes 所以基本上我的产品表具有id(主键),名称(产品名称)和size_id(product_sizes中的外键) 我的product_sizes表具有预定值: 在这里,我有一个有效的代码来显示产品表(使用while代码以html格式): 我的问题是我想显示(用html表示)尺寸名称而不是其size_id,类似于以下示例:

  • 问题内容: 我不知道是什么问题。使用MySQL 5.0尝试运行以下MYSQL更新语句时出现编译错误 所有字段名称都是正确的。有什么想法吗? 问题答案: 尝试这个: 更新: 既然您说查询产生了语法错误,所以我创建了一些可以对其进行测试的表,并确认查询中没有语法错误: 看到?没有语法错误。我针对MySQL 5.5.8进行了测试。

  • 问题内容: 我有两个看起来像这样的桌子 培养 订座 当前,我正在尝试创建一个查询,如果取消预订,该查询将增加火车的容量。我知道我必须执行Join,但是我不确定如何在Update语句中执行。例如,我知道如何使用给定的ReservationID来获取火车的容量,如下所示: 但我想构造执行此操作的查询- 如果可能的话,我想知道如何增加任意数量的席位。顺便说一句,我计划在Java事务中执行增量后删除保留。

  • 在《 MySQL交叉连接》一节中我们了解了 MySQL 的交叉连接,本节主要介绍多表查询的另一种方式——内连接。 内连接(INNER JOIN)主要通过设置连接条件的方式,来移除查询结果中某些数据行的交叉连接。简单来说,就是利用条件表达式来消除交叉连接的某些数据行。 内连接使用 INNER JOIN 关键字连接两张表,并使用 ON 子句来设置连接条件。 如果没有连接条件,INNER JOIN 和

  • 我在MySQL中通过内部连接尝试下面的组。上面写着未知的列名。你能帮我解决这个问题吗。我在内部联接中的查询“select Min(Id)FROM testinbcalls group by lc.DBID”中出现错误,说明“groupby中的unknown column name DBID in the groupby)。如果不允许groupby,是否有其他方法可以修改此查询。我尝试了”selec

  • 如何在临时文件中获取名称以便在此查询中设置? 谢谢。