Можете да постигнете това с помощта на coalesce
функция:
INSERT INTO mytable (id,inc) VALUES ('a',1)
ON CONFLICT (id)
DO UPDATE SET inc = coalesce(mytable.inc,0) + 1;
Ключовият момент е изразът coalesce(mytable.inc,0)
, което означава следното:if mytable.inc
не е NULL
след това използвайте тази стойност, в противен случай използвайте стойността 0
.