用一些重叠的主键合并2个表

时间:2018-08-06 17:54:36

标签: postgresql postgresql-9.6

我正在尝试将多个表合并在一起,并且我担心主键会妨碍它,以及它如何响应每种情况。

让我说我有2个表(相同的架构),但是每个表中的某些条目具有相同的主键。当我尝试将这两个表合并在一起时会发生什么?我会收到错误消息,它只接受合并中的一行吗?

除了视图还是实例化视图,相同的想法又如何?重叠的主键如何处理?

我的表中所有具有相同主键的东西都是完美的重复项,因此我最终希望删除重复项。

1 个答案:

答案 0 :(得分:0)

这听起来很明显

INSERT INTO table1
   SELECT * FROM table2
ON CONFLICT (pk_column) DO NOTHING;

然后所有重复项都将被丢弃,仅剩余的行将被插入。