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

PostgreSQL内连接更新字段报错:表"TblFacultyMaster"被多次指定

解决PostgreSQL中UPDATE语句表名重复指定的错误

嘿,这个问题我碰到过好几次啦,本质是你在UPDATE语句里重复引用了目标表导致的,咱们来一步步解决它:

错误原因分析

你写的SQL里,UPDATE后面已经指定了目标表"TblFacultyMaster",但又在FROM子句的INNER JOIN里再次引用了这个表,这就导致PostgreSQL无法区分这两个相同的表引用,所以抛出了ERROR: table name "TblFacultyMaster" specified more than once的错误。

修正后的SQL语句

只需要把FROM子句里多余的"TblFacultyMaster"关联去掉,直接用FROM指定要关联的teacher_details表,再通过WHERE条件建立关联即可:

UPDATE "TblFacultyMaster"
SET teacher_id = teacher_details.teacher_id
FROM teacher_details
WHERE "TblFacultyMaster"."IMR" = teacher_details.primary_reg_no;

补充说明

如果你的关联字段在两张表中有相同的名称,还可以用更简洁的USING子句写法(不过你的场景里字段名是IMR和primary_reg_no,所以不适用这个写法,但可以了解下):

-- 仅当关联字段名相同时可用
UPDATE target_table
SET column = other_table.column
FROM other_table
USING (common_column);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:15:09