当前位置:网站首页>MySQL 巨坑:update 更新慎用影响行数做判断!!!
MySQL 巨坑:update 更新慎用影响行数做判断!!!
2022-07-05 12:39:00 【Java技术栈】
来源:cnblogs.com/yjmyzz/p/13562182.html
业务系统中,使用update语句更新数据是再正常不过的场景,我们也经常通过update更新的行数,来做一些业务判断,类似下面的伪代码:(mybatis + mysql 场景)
if (xxxMapper.updateByPrimaryKeySelective(entity)>0){
//更新成功,做其它业务处理
}
但是这里有一个坑,mysql中update影响行数>0是有条件的,假如有一张表:
里面只有一条记录(ID=1),我们用update更新一把ID=1的这条记录
这一行成功更新,影响行数为1,理所当然,然后把这条update语句再执行一次:
这时候,返回的影响行数为0,也就是说,当待更新的记录与原始记录旧值相同时,mysql其实并不会做任何更新。。
换言之,如果上游传过来的数据,与数据库本身的旧值相等,没有变化时,update语句影响行数为0。这与另一种场景:"更新一条并不存在的记录,影响行数返回0" 无法区分。
结论:不要使用update语句的影响行数做重要的业务判断!
近期热文推荐:
1.1,000+ 道 Java面试题及答案整理(2022最新版)
4.别再写满屏的爆爆爆炸类了,试试装饰器模式,这才是优雅的方式!!
觉得不错,别忘了随手点赞+转发哦!
边栏推荐
- What if wechat is mistakenly sealed? Explain the underlying logic of wechat seal in detail
- JDBC -- extract JDBC tool classes
- HiEngine:可媲美本地的云原生内存数据库引擎
- 我在滴滴做开源
- 滴滴开源DELTA:AI开发者可轻松训练自然语言模型
- 上午面了个腾讯拿 38K 出来的,让我见识到了基础的天花
- 谈谈我写作生涯的画图技巧
- Neural network of PRML reading notes (1)
- Taobao short videos are automatically released in batches without manual RPA open source
- Taobao order interface | order flag remarks, may be the most stable and easy-to-use interface
猜你喜欢
Didi open source Delta: AI developers can easily train natural language models
About LDA model
Taobao, pinduoduo, jd.com, Doudian order & Flag insertion remarks API solution
Pytoch uses torchnet Classerrormeter in meter
Simply take stock reading notes (3/8)
Simply take stock reading notes (2/8)
Vonedao solves the problem of organizational development effectiveness
UNIX socket advanced learning diary -ipv4-ipv6 interoperability
Detailed structure and code of inception V3
Distributed cache architecture - cache avalanche & penetration & hit rate
随机推荐
View and terminate the executing thread in MySQL
[cloud native] event publishing and subscription in Nacos -- observer mode
初识Linkerd项目
RHCSA3
Reshape the power of multi cloud products with VMware innovation
非技术部门,如何参与 DevOps?
SAP UI5 视图里的 OverflowToolbar 控件
Kotlin process control and circulation
Detailed structure and code of inception V3
HiEngine:可媲美本地的云原生内存数据库引擎
Distributed solution - distributed session consistency problem
[cloud native] use of Nacos taskmanager task management
2021-12-22 transaction record
Keras implements verification code identification
石臻臻的2021总结和2022展望 | 文末彩蛋
#yyds干货盘点#js截取文件后缀名
OPPO小布推出预训练大模型OBERT,晋升KgCLUE榜首
Kotlin变量
Add a new cloud disk to Huawei virtual machine
10 minute fitness method reading notes (1/5)