问题:
Excel导入用户数据,已有的用户信息更新不成功。
场景:导入用户数据时,数据库已存在的数据进行更新,不存在的新增,excel表中可存在相同手机号的用户信息,以最后一条为准更新用户信息。
分析:业务逻辑没有问题:
1先查询数据库,存在则更新用户信息,将新的用户信息存放到updateUserList列表
2不存在,再查询本地用户信息缓存(缓存excel中已有的用户信息),
2.1缓存中存在,更新用户信息,将修改的用户信息存放到updateUserList列表
2.2缓存中不存在,新增用户信息,将新增的用户信息存放到addUserList列表
执行到最后,查看updateUserList列表数据,重复的用户信息成功的存入到该列表中,没有问题。但执行更新后发现并没有将相同的用户信息的最后一条更新。同事帮忙查看后,分析可能sql问题。
Sql格式:case then when的形式批量更新,如果存在重复的2个用户id(手动生成),那么该语句永远只执行第一条数据,后面再多也不执行!
原文地址:https://www.cnblogs.com/cslj2013/p/9657968.html
时间: 2024-10-12 23:15:07