PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

postgres sql, comment incrémenter quand null existe

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 .