Bạn có thể thực hiện điều đó với sự trợ giúp của coalesce
chức năng:
INSERT INTO mytable (id,inc) VALUES ('a',1)
ON CONFLICT (id)
DO UPDATE SET inc = coalesce(mytable.inc,0) + 1;
Điểm mấu chốt là biểu thức coalesce(mytable.inc,0)
, có nghĩa là như sau:if mytable.inc
không phải là NULL
thì hãy sử dụng giá trị đó, nếu không thì hãy sử dụng giá trị 0
.