【问题标题】:MySQL syntax error in my code that I can't find manually我无法手动找到的代码中的 MySQL 语法错误
【发布时间】:2020-02-02 10:11:45
【问题描述】:

连接两个表以获得正确的信息并通过某些特定条件的条件从一个表中更新一个值

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 sale JOIN delivery ON delivery.sale_id = sale.id WHERE sale.status ' 在第 5 行

【问题讨论】:

    标签: mysql join sql-update


    【解决方案1】:

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

    这里是对mySQL更新语法的参考:

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

    【讨论】:

      【解决方案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

      【讨论】:

      • 我有点困惑为什么你接受了另一个答案而不是那个给你一个实际工作解决方案的答案?
      猜你喜欢
      • 2013-01-11
      • 1970-01-01
      • 2016-02-27
      • 2011-07-06
      • 2022-12-24
      • 2019-01-16
      • 2018-12-05
      • 2011-02-03
      相关资源
      最近更新 更多