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

PostgreSQL基于join执行update更新时触发on附近语法错误如何解决

错误原因

  • 语法结构错误:INNER JOIN 关键字后未指定关联表,你已经在FROM子句中声明了关联表well.geo,不需要额外加INNER JOIN关键字
  • 别名使用混乱:已经给目标表well.formation_assignments起别名v、关联表well.geo起别名s,后续字段引用时没有使用别名,重复写全表名导致引用逻辑混乱
  • 关联条件写法不符合PostgreSQL UPDATE语法规则:PostgreSQL的UPDATE FROM关联更新语法不需要单独写INNER JOIN关键字,直接通过WHERE子句指定两表关联条件即可

修复后的可执行SQL

UPDATE well.formation_assignments AS v
SET Primary_Formation = s.primary_formation
FROM well.geo AS s
WHERE v.api14 = s.api14;

补充说明

如果你需要使用JOIN写法实现关联更新,可使用如下标准结构:

UPDATE well.formation_assignments AS v
SET Primary_Formation = s.primary_formation
FROM well.geo AS s
INNER JOIN well.formation_assignments AS v_join ON s.api14 = v_join.api14
WHERE v.api14 = v_join.api14;

上述两种写法执行效果完全一致,第一种写法更简洁,适合常规关联更新场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 21:54:00