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

JOIN关联更新表时出现#1064语法错误求助

解决MariaDB中UPDATE JOIN的1064语法错误

Hey,这个问题我碰到过好多次啦!你写的是SQL Server风格的UPDATE ... FROM ... JOIN语法,但MariaDB(以及MySQL)并不支持这种写法,这就是导致你遇到1064语法错误的核心原因。

你的错误原语句

UPDATE product 
SET Product_entr_notes = t2.note ,Product_entr_email = t2.email ,Product_entr_mobile = t2.Mobile ,Product_entr_phone = t2.Home_Phone 
FROM product AS t1 
INNER JOIN result AS t2 ON t1.id = t2.ACTID

适配MariaDB的正确写法

你需要换成MariaDB原生支持的UPDATE ... JOIN ... SET结构,把JOIN子句直接紧跟在UPDATE后面,具体代码如下:

UPDATE product AS t1
INNER JOIN result AS t2 ON t1.id = t2.ACTID
SET 
    t1.Product_entr_notes = t2.note,
    t1.Product_entr_email = t2.email,
    t1.Product_entr_mobile = t2.Mobile,
    t1.Product_entr_phone = t2.Home_Phone

额外说明

  • 这里我们给两张表都起了别名,通过别名明确指定更新字段和数据来源,MariaDB就能正确解析语法了。
  • 你原错误提示里提到的WHERE t1.id = t2.ACTID其实已经被JOIN的ON条件覆盖了,完全不需要重复添加,不然反而会冗余。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 03:51:31