我正在尝试在UPDATE
中使用INNER JOIN
来声明(MY)SQL
。我已经举了例子,并编辑了表名和表列以进行挖掘。但是我的MYSQL仍然不断给我一个错误(#1064)。
错误
您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册以获取正确的语法,以在第5行的“ FROM收藏夹中将图像连接到收藏夹上使用。image_id= images.id W”
SQL
UPDATE
favorites
SET
favorites.archive = 1
FROM
favorites
INNER JOIN
images
ON
favorites.image_id = images.id
WHERE
favorites.user_id = '1'
提前感谢您帮助我解决这一问题。
亲切的问候,
答案 0 :(得分:0)
Update
的语法在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'
完整syntax是:
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] ...
答案 1 :(得分:0)
以下内容将助您一臂之力。
UPDATE favorites
INNER JOIN images ON favorites.image_id= images.id
SET favorites.archive = 1
WHERE favorites.user_id = '1';