幂等性的一个要求是多次操作的结果一致.对于update操作,多次直接的结果都是最后update的值,是满足需求的. 但对于insert,如果已经插入,第二次会报错,duplicate error, 主键重复或者unique key duplicate.所以需要做一下处理. 最简单的就是,try-catch,当报错的时候,调用update去更新,或者策略更简单点,直接返回就行,不需要更新,以第一条为准. PostgreSQL从9.5之后就提供了原子的upsert语法: 不存在则插入,发生冲突可以u…