我正在尝试使用这个查询
UPDATE products
SET products.product_price = '87.00000'
FROM products
INNER JOIN product_category
ON products.product_id = product_category.product_id
WHERE product_category.category_id = '64'
但是我收到此错误:#1064 - 您的 SQL 语法有错误;查看与您的 MySQL 服务器版本对应的手册,了解在第 3 行的“FROM 表产品 INNER JOIN 表产品_类别 ON prod”附近使用的正确语法
我没有看到任何语法错误。我已经从这个论坛上的示例中提出了这个问题。
最佳答案
删除 FROM products
行。
并把
SET ...
行就在 WHERE
子句之前。
要清楚:
UPDATE ...
JOIN ...
SET ...
WHERE ...
你也可以
UPDATE products p
SET p.product_price='87.00000'
WHERE EXISTS (SELECT NULL
FROM product_category pc
WHERE p.product_id = pc.product_id
AND pc.category_id = '64');
关于mysql - 使用 INNER JOIN 的 SQL 更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14491042/