我无法手动找到的代码中的MySQL语法错误

时间:2019-10-04 04:59:36

标签: mysql join sql-update

结合两个表以获取正确的信息,并通过在某些特定条件下进行调节来从一个表中更新一个值

SQL说它在第5行有语法错误,尽管如果他(SQL)知道的话它并不能自动修复语法错误

UPDATE
  sale
SET
  amount = 10000
FROM
  sale
  JOIN delivery ON delivery.sale_id = sale.id
WHERE
  sale.`status` = "active"
  AND delivery.services_id = 7;
  

您的SQL语法有错误;似乎错误在附近:   '从FROM出售JOIN交付时,delivery.sale_id = sale.id在哪里   销售。status'位于第5行

2 个答案:

答案 0 :(得分:2)

MySQL多表更新(manual)的正确语法将表引用置于查询的开头:

UPDATE
  sale
  JOIN delivery ON delivery.sale_id = sale.id
SET
  amount = 10000
WHERE
  sale.`status` = "active"
  AND delivery.services_id = 7;

Demo on dbfiddle

答案 1 :(得分:0)

MySQL不支持UPDATE ... FROM(这是SQL Server功能)

这里是对mySQL更新语法的引用:

https://dev.mysql.com/doc/refman/8.0/en/update.html