Du kan opnå det ved hjælp af coalesce
funktion:
INSERT INTO mytable (id,inc) VALUES ('a',1)
ON CONFLICT (id)
DO UPDATE SET inc = coalesce(mytable.inc,0) + 1;
Nøglepunktet er udtrykket coalesce(mytable.inc,0)
, hvilket betyder følgende:if mytable.inc
er ikke NULL
brug derefter denne værdi, ellers brug værdien 0
.