Vous pouvez accomplir cela avec l'aide de la coalesce
fonction :
INSERT INTO mytable (id,inc) VALUES ('a',1)
ON CONFLICT (id)
DO UPDATE SET inc = coalesce(mytable.inc,0) + 1;
Le point clé est l'expression coalesce(mytable.inc,0)
, ce qui signifie ce qui suit :if mytable.inc
n'est pas NULL
puis utilisez cette valeur, sinon utilisez la valeur 0
.