Workaround für InsertUpdate

13 Oct 2015

Mit Postgres 9.5 gibt es eine Konfliktlösung bei Insert's auf Tupel welche schon existieren oder Updates wenn Tupels noch nicht existieren. Es gibt auch einen Workaround dies mit zwei Queries zu tun.

UPDATE table SET field='C', field2='Z' WHERE id=3;
INSERT INTO table (id, field, field2)
   SELECT 3, 'C', 'Z'
   WHERE NOT EXISTS (SELECT 1 FROM table WHERE id=3);