在两个postgres数据库表之间同步数据

时间:2019-07-03 15:30:04

标签: sql postgresql dbvisualizer

我有一个db1表A和db2表B 我只想从表A到表B插入不存在的行,如果表B中已经存在数据,请对其进行更新。 最好的方法是什么?我有数百行要插入和更新以及许多表。我正在使用dbvisualizer。 谢谢。

1 个答案:

答案 0 :(得分:0)

一种方法使用not exists子查询。像这样:

insert into b (col1, . . . )
    select col1, . . . 
    from a
    where not exists (select 1 from b where b.? = a.?);

还有其他方法。如果在unique上有一个b约束/索引来定义唯一性,则可能需要on conflict子句。如果您尝试防止重复,则unique约束/索引是正确的解决方案。