ON CONFLICT 只在 PostgreSQL 9.5 以上可用
PostgreSQL 的 upsert 功能就是当执行 INSERT 操作时,如果数据表中不存在对应的记录,PostgreSQL 执行插入操作;如果数据表中存在对应的记录,则执行更新操作。这就是为什么将其称为 upsert(update or insert)的原因。
<update id="updatePersonInfo" paramterType="com.test.pojo.Person">
insert into person(name,age,hobby,city,school,mobile)
values
(#{name},
#{age},
#{hobby},
#{city},
#{school},
#{mobile}
)
on conflict(mobile,name) do nothing
</update>
这里的on conflict( )括号里面必须是唯一索引,所以此处的mobile和name必须是联合唯一索引 do nothing 则表示如果有相同数据存在,则不做任何操作,原数据保持不变
<update id="updatePersonInfo&