在业务中因为种种原因数据库表不需要联合唯一索引,但是在业务需求中需要根据某几个字段的值来确定唯一性,并进行有则更新无则插入的逻辑,可以通过一下语法进行
insert into table
(
id, column1, column2, column3, column4, column5, column6) values
<foreach item="item" index="index" collection="list" separator=",">
(
#{item.id}, #{item.column1}, #{item.column2}, #{item.column3}, #{item.column4},
#{item.column5}, #{item.column6}
)
</foreach>
ON DUPLICATE KEY UPDATE
id = VALUES(id),
column1 = VALUES(column1),
column2 = VALUES(column2),
column3 = VALUES(column3),
column4 = VALUES(column4),
column5 = VALUES(column5),
column6 = VALUES(column6)