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

SQLPro for Postgres上传CSV时表原有数据被覆盖删除如何解决

SQLPro for Postgres 多CSV导入不覆盖已有数据解决方案

问题原因

覆盖问题是导入时默认开启了「导入前清空表」「替换现有表」的配置,每次导入都会先删除表内现有数据再写入新CSV的内容。

界面操作修复步骤

  • 打开SQLPro for Postgres并连接到目标数据库,选中你要导入数据的已创建好的表
  • 点击顶部菜单栏 File -> Import,选择你要导入的第一个CSV文件,进入导入配置页
  • 在配置项中找到导入行为相关设置,取消勾选Truncate table before import(导入前清空表)、Replace existing table(替换现有表),同时选择Append data to table(向表追加数据)模式
  • 确认CSV的分隔符、文件编码、是否带表头、列映射关系和你实际的CSV、目标表结构完全匹配,确认无误后执行导入
  • 后续其余CSV文件全部按照上述步骤操作即可,所有数据会依次追加到表中,不会覆盖原有数据

备选方案:原生SQL命令导入(可控性更高)

如果界面导入配置异常仍出现覆盖问题,可以直接执行Postgres原生导入命令:

  • 如果CSV文件存放在Postgres服务器上,执行:
COPY 你的目标表名称
FROM 'CSV文件在服务器上的绝对路径'
DELIMITER ',' -- 替换为你CSV实际使用的分隔符,常见为逗号、制表符
CSV HEADER; -- 若你的CSV没有表头行,去掉HEADER参数
  • 如果CSV文件存放在你本地客户端电脑上,执行客户端版copy命令:
\copy 你的目标表名称
FROM 'CSV文件在你本地的绝对路径'
DELIMITER ','
CSV HEADER;

注意事项

  • 导入前建议先备份目标表现有数据,避免误操作导致数据丢失
  • 若目标表设置了主键、唯一索引等约束,需确保新导入的CSV数据中没有和已有数据重复的约束字段值,否则会触发唯一冲突导致导入失败
  • 若CSV和目标表列顺序不匹配,可以在表名后指定列顺序,比如COPY 表名(列1,列2,列3) FROM ... 保证数据写入到对应列

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 05:39:06