批量更新数据不成功

Posted cslj2013

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了批量更新数据不成功相关的知识,希望对你有一定的参考价值。

问题:

Excel导入用户数据,已有的用户信息更新不成功。

场景:导入用户数据时,数据库已存在的数据进行更新,不存在的新增,excel表中可存在相同手机号的用户信息,以最后一条为准更新用户信息。

分析:业务逻辑没有问题:

1先查询数据库,存在则更新用户信息,将新的用户信息存放到updateUserList列表

2不存在,再查询本地用户信息缓存(缓存excel中已有的用户信息),

2.1缓存中存在,更新用户信息,将修改的用户信息存放到updateUserList列表

2.2缓存中不存在,新增用户信息,将新增的用户信息存放到addUserList列表

 

执行到最后,查看updateUserList列表数据,重复的用户信息成功的存入到该列表中,没有问题。但执行更新后发现并没有将相同的用户信息的最后一条更新。同事帮忙查看后,分析可能sql问题。

Sql格式:case then when的形式批量更新,如果存在重复的2个用户id(手动生成),那么该语句永远只执行第一条数据,后面再多也不执行!

以上是关于批量更新数据不成功的主要内容,如果未能解决你的问题,请参考以下文章

Nodejs续集批量更新

mybatis学习之路----批量更新数据两种方法效率对比

mybatis的一种批量更新方法我

批量插入数据和更新数据参考

SqlServer 利用游标批量更新数据

Mybatis在oracle批量更新