加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在postgresql中的’copy from’期间忽略重复的键

发布时间:2020-12-13 16:41:55 所属栏目:百科 来源:网络整理
导读:我必须将大量数据从文件转储到PostgreSQL表。我知道它不支持在MySql中完成’忽略”替换’等等。几乎所有关于这个在网站上的帖子都建议将数据转储到临时表中,然后做一个“插入…选择…不存在…”。 这在一种情况下不会有帮助,其中文件数据本身包含重复的主
我必须将大量数据从文件转储到PostgreSQL表。我知道它不支持在MySql中完成’忽略”替换’等等。几乎所有关于这个在网站上的帖子都建议将数据转储到临时表中,然后做一个“插入…选择…不存在…”。

这在一种情况下不会有帮助,其中文件数据本身包含重复的主键。
任何身体有一个想法如何处理这在PostgreSQL?

美国我正在从java程序,如果它有帮助

使用与您描述的相同的方法,但在加载到主表之前,在临时表中删除(或组或修改…)重复PK。

就像是:

CREATE TEMP TABLE tmp_table 
ON COMMIT DROP
AS
SELECT * 
FROM main_table
WITH NO DATA;

COPY tmp_table FROM 'full/file/name/here';

INSERT INTO main_table
SELECT DISTINCT ON (PK_field) *
FROM tmp_table
ORDER BY (some_fields)

详细信息:CREATE TABLE ASCOPYDISTINCT ON

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读