当前位置:网站首页>面试官:你的update 更新影响行数做判断了吗?
面试官:你的update 更新影响行数做判断了吗?
2022-07-21 05:14:00 【技术琐事】
业务系统中,使用update语句更新数据是再正常不过的场景,我们也经常通过update更新的行数,来做一些业务判断,类似下面的伪代码:(mybatis + mysql 场景)
//更新成功,做其它业务处理
}
但是这里有一个坑,mysql中update影响行数>0是有条件的,假如有一张表:
里面只有一条记录(ID=1),我们用update更新一把ID=1的这条记录。另外,最新 MySQL 面试题整理好了,大家可以在Java面试库小程序在线刷题。
这一行成功更新,影响行数为1,理所当然,然后把这条update语句再执行一次:
这时候,返回的影响行数为0,也就是说,当待更新的记录与原始记录旧值相同时,mysql其实并不会做任何更新。。
换言之,如果上游传过来的数据,与数据库本身的旧值相等,没有变化时,update语句影响行数为0。这与另一种场景:"更新一条并不存在的记录,影响行数返回0" 无法区分。
结论:不要使用update语句的影响行数做重要的业务判断!
边栏推荐
- nmn与线粒体的作用,nmn线粒体对细胞作用及影响,值得关注
- 关于对自动化测试的理解:目的与本质!(新手必看)
- 超详细干货:Appium+Pytest实现App并发测试
- Digital transformation | shell uses polarion software to digitize and process capital project data
- 本地搭建typescript项目流程
- Quartz.NET c# 教程 - 课程四:Triggers
- The role of NMN and mitochondria, the role and influence of NMN mitochondria on cells deserve attention
- DDT practice of UI automated testing
- Li Mu's learning notes of hands-on learning in depth (6) Chapter 1 preparatory knowledge section 4 Differential
- Li Mu's learning notes of hands-on learning in depth (7) Chapter 1 preparatory knowledge section 5 automatic derivation
猜你喜欢
随机推荐
APP测试基本流程以及APP测试要点
Visual Studio 使用技巧, 功能与特性
嵌入式开发中,嵌入式硬件和软件有什么区别?
超详细干货:Appium+Pytest实现App并发测试
什么是直饮机?它的工作原理和优点是什么?
智能设备强势来袭,让我们的生活更加自动化
使用MySQL,请善用 JSON 这张牌
响应式网页
Siemens invites you to attend the ALM webinar on July 27
Build a demand platform based on polarion
Does NMN product really have its effect? What effect does it have after taking NMN for several months
编写一个彻底拦截用户操作的程序
Postman core function analysis - parameterization and test report
Liteos connector script (2)
详解麦克风阵列的原理、分类及作用
仿照MEMZ做一个特效程序
Analyse des fonctions de base Postman - Paramétrage et rapport d'essai
UI自动化测试之ddt实战
Jmeter进阶之性能测试响应结果保存到本地
基于Polarion,构建需求平台