Můžete toho dosáhnout pomocí coalesce
funkce:
INSERT INTO mytable (id,inc) VALUES ('a',1)
ON CONFLICT (id)
DO UPDATE SET inc = coalesce(mytable.inc,0) + 1;
Klíčovým bodem je výraz coalesce(mytable.inc,0)
, což znamená následující:if mytable.inc
není NULL
pak použijte tuto hodnotu, jinak použijte hodnotu 0
.