2017-02-02 3 views
0

Je l'ai lu à partir de cette source que vous pouvez faire un insert sur la touche dupcliate ignorer dans Postgres, mais je ne peux pas sembler que cela fonctionne pour une sélection de:insert sélectionner à partir de clé en double ignorer postgres

link

ce que j'ai vu que vous pouvez faire est:

insert into tab(id, val) values(1, 'nosert'), (2, 
'nosert'), (3, 'nosert') on duplicate key ignore returning id; 

Pourquoi je ne peux pas faire quelque chose comme ça?

insert into table_one (field_one, field_two) select field_one, field_two from table_two on duplicate key ignore returning field_one; 

On me dit que j'ai erreur de syntaxe près double, mais la requête avant cela fonctionne très bien (bien qu'il colides sur un indice en double) et le reste de la requête ajoute juste le on duplicate key ignore returning field_one.

Est-ce impossible avec select from?

Répondre

0

a été en mesure de résoudre avec 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;