Możesz to osiągnąć za pomocą coalesce
funkcja:
INSERT INTO mytable (id,inc) VALUES ('a',1)
ON CONFLICT (id)
DO UPDATE SET inc = coalesce(mytable.inc,0) + 1;
Kluczowym punktem jest wyrażenie coalesce(mytable.inc,0)
, co oznacza:if mytable.inc
nie jest NULL
następnie użyj tej wartości, w przeciwnym razie użyj wartości 0
.