【问题标题】:Insert 10 records that don't conflict插入10条不冲突的记录
【发布时间】:2020-08-10 12:51:53
【问题描述】:

如果我想插入从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 条不冲突的记录?

【问题讨论】:

    标签: postgresql sql-insert select-insert


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2013-04-05
      • 2017-12-17
      • 2018-02-08
      • 1970-01-01
      • 2021-04-23
      • 1970-01-01
      • 2019-11-19
      • 1970-01-01
      • 2012-09-19
      相关资源
      最近更新 更多