You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于INNER JOIN的WHERE条件更新行时MySQL语法错误求助

MySQL关联更新语法修正

你遇到的是MySQL的UPDATE语法问题——你写的是SQL Server风格的UPDATE ... FROM写法,但MySQL不支持这种格式,得用它专属的关联更新语法。

正确的UPDATE语句

UPDATE Fixtures f
INNER JOIN Results r ON f.FixtureID = r.FixtureID
SET f.IsResult = 1
WHERE f.Status = 1
  AND f.IsResult = 0
  AND f.Season = 1
  AND r.TeamID IS NOT NULL
  AND DATEDIFF(NOW(), f.Date) >= 2;

语法说明

MySQL的关联更新结构是:

  • 先写UPDATE,后跟要更新的主表(这里是Fixtures f)
  • 接着写JOIN关联其他表(Results r)并指定关联条件
  • 然后写SET子句定义要更新的列值
  • 最后写WHERE子句添加过滤条件(和你原SELECT的条件完全一致)

这样修改后就能正确执行,把符合条件的Fixtures行的IsResult字段更新为1。

内容的提问来源于stack exchange,提问作者BN83

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 03:02:01