插入10条不冲突的记录

Insert 10 records that don't conflict

如果我想插入从 table_atable_b 的 10 条记录,我可以这样做:

insert into table_b
select * from table_a
limit 10

现在让我们设置我想插入从 table_atable_b 的 10 条不冲突的记录,我该怎么做?

如果我这样做:

insert into table_b
select * from table_a
limit 10
on conflict do nothing

那么10条记录将不会被插入。如果前 10 条记录中的任何一条发生冲突,则它不会继续完全插入 10 条记录。这将是 10 减去冲突,可能是 0。

如何插入 10 条不冲突的记录?

从确保记录不存在于 table_b 中的查询中插入:

insert into table_b
select * from table_a
except
select * from table_b
limit 10