MySQL|MyBatis如何实现批量插入数据时如果存在就更新或者忽略
- 首先,需要实现更新或忽略的数据的判别字段必须是主键或存在唯一索引(可以是单列或多列)。
比如要根据id判断是否重复,那么id必须是主键或者存在唯一索引。
比如要根据rid + type + date判断是否重复,那么要建立3个字段联合的唯一索引。 - 然后就是修改SQL了,如下:
######存在就更新:
REPLACE INTO 表名(字段1, 字段2, ...) VALUES(值1, 值2, ...), (值1, 值2, ...);
######存在就忽略:
INSERT IGNORE 表名(字段1, 字段2, ...) VALUES(值1, 值2, ...), (值1, 值2, ...);
这样就可以简单地对数据进行批量操作。
如果满意,请打赏博主任意金额,感兴趣的在微信转账的时候,添加博主微信哦。 请下方留言吧,可与博主自由讨论哦。
支付宝 | 微信 |
---|---|