coalesce
の助けを借りてそれを達成することができます 機能:
INSERT INTO mytable (id,inc) VALUES ('a',1)
ON CONFLICT (id)
DO UPDATE SET inc = coalesce(mytable.inc,0) + 1;
重要な点は、式coalesce(mytable.inc,0)
です。 、これは次のことを意味します:if mytable.inc
NULL
ではありません 次に、その値を使用します。それ以外の場合は、値0
を使用します。 。