10

我从这个来源读到,您可以在 postgres 中对重复键忽略进行插入,但我似乎无法让它适用于以下选项:

关联

我看到你可以做的是:

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吗?

4

1 回答 1

9

能够解决on conflict do nothing9.5

insert into table_one (field_one, field_two) 
select field_one, field_two from table_two 
on conflict do nothing;
于 2017-02-02T05:33:50.940 回答