表结构以下:sql
假设想要实现当记录存在时account值加1,而记录不存在时插入记录,能够这样来实现:3d
INSERT INTO A (ID, username, account) VALUES (1, 'aa', 0) ON conflict (ID) DO UPDATE SET account = A .account + 1;
连续执行两次以后能够看到结果:code
第一次记录不存在,因此建立了一条新纪录,并设置account值为0;第二次记录存在,则将account值加1了。blog
不过在执行上述语句以前要确保on conflict操做的字段必须有unique属性或者其余的约束条件,否则就会出现相似于如下的错误:class