报错原文
Duplicate column name “部门名称”
Table contains duplicate column name “金额”
引号里就是撞车的列名。和行 ID 重复是同一类约束,只不过一个管行、一个管列。
最常见的场景:两表关联
左表和右表都有一列叫「部门名称」,关联之后要放进同一张表里 – 两个同名列,冲突了。
Joiner 自己有一项配置管这个。默认是给右表的同名列加后缀,不会报错。改成「冲突时中止」才会看到这条报错。
三个来源
| 来源 | 说明 |
|---|---|
| Joiner 关联两张有同名列的表 | 最常见。重名列处理方式选了中止而不是加后缀 |
| 改名时改成了已存在的名字 | 把「金额合计」改成「金额」,而表里本来就有一列叫「金额」 |
| Excel 源文件里表头本身就重复 | 人工做的表格,两列都叫「备注」。读取节点通常会自动加后缀,但有的配置下会直接报错 |
怎么修
-
关联时撞车 – 推荐做法
关联之前先用 Column Filter 把右表用不上的列去掉。多数情况下你只是想从右表取一两个字段,其余的根本不需要带过来。去掉之后既没有重名问题,输出表也干净得多。
-
关联时撞车 – 快速做法
打开 Joiner 的重名列处理,改成给右表加后缀。能跑通,但输出里会出现
部门名称(右)这种列名,下游如果写死了列名还是会断。适合临时排查,不适合长期跑的流程。 -
改名撞车
打开改名节点,看新名字是不是和表里已有的列重了。点开上游输出表的列名那一行核对一遍。
-
源文件表头重复
最好回源头让出数据的人改。改不了的话,在读取节点之后立刻接一个改名节点,把两个同名列区分开 – 越早处理越省事。
为什么推荐先删列而不是加后缀。加后缀是让流程能跑,先删列是让表本身就是干净的。关联前把右表收敛到只剩关联键加你要的那一两列,之后所有下游节点的配置列表都短,出问题也好查。这个习惯的收益不止于避开这条报错。
怎么预防
- 关联之前先给右表过一道 Column Filter,只留关联键和真正需要的字段。
- 改名之前先看一眼当前有哪些列名,别改成已经存在的名字。
- 源文件表头不规范时,读取之后第一步就做列名规范化。

