Puoi farlo con l'aiuto di coalesce
funzione:
INSERT INTO mytable (id,inc) VALUES ('a',1)
ON CONFLICT (id)
DO UPDATE SET inc = coalesce(mytable.inc,0) + 1;
Il punto chiave è l'espressione coalesce(mytable.inc,0)
, che significa quanto segue:if mytable.inc
non è NULL
quindi usa quel valore, altrimenti usa il valore 0
.