我有一个db1表A和db2表B 我只想从表A到表B插入不存在的行,如果表B中已经存在数据,请对其进行更新。 最好的方法是什么?我有数百行要插入和更新以及许多表。我正在使用dbvisualizer。 谢谢。
答案 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
约束/索引是正确的解决方案。