我从这个来源读到你可以在postgres中对dupcliate键进行插入忽略,但我似乎无法让这个用于选择:
我看到你能做的是:
insert into tab(id, val) values(1, 'nosert'), (2,
'nosert'), (3, 'nosert') on duplicate key ignore returning id;
为什么我不能这样做?
insert into table_one (field_one, field_two) select field_one, field_two from table_two on duplicate key ignore returning field_one;
我被告知我的语法错误几乎没有重复,但之前的查询运行正常(虽然它与一个重复的索引相符)并且查询的其余部分只是添加了on duplicate key ignore returning field_one
。
select from
无法实现这一点吗?
答案 0 :(得分:5)
能够以on conflict do nothing
解决9.5
insert into table_one (field_one, field_two)
select field_one, field_two from table_two
on conflict do nothing;