幂等性的一个要求是多次操作的结果一致。对于update操作,多次直接的结果都是最后update的值,是满足需求的。...但对于insert,如果已经插入,第二次会报错,duplicate error, 主键重复或者unique key duplicate。所以需要做一下处理。...PostgreSQL从9.5之后就提供了原子的upsert语法: 不存在则插入,发生冲突可以update。...default" ) ;
当主键id冲突时,更新其他字段
INSERT INTO test.upsert_test(id, "name") VALUES(1, 'm'),(2, 'n'),(4...unique key发生冲突时,什么都不做
INSERT INTO test.upsert_test(id, "name")
VALUES(1, 'm'),(2, 'n'),(4, 'c')
ON conflict