sql update执行返回0,能否判断数据不存在

答案:不能。

update执行返回0的情况

  • 1、没有找到需要更新的数据,就是这条记录不存在

例如:where后面的条件是id=0,那这条记录肯定是不存在的,返回结果是0

  • 2、更新时的数据和要更新的数据完全一致时

例如:更新前的数据name=张三,我们使用update将name还是改为张三,这里返回的结果依然是0

使用第三方持久化框架Mybatis时

update更新时如果没有找到数据返回0,找到数据就不会返回0了,无论数据是否一致,都不会返回0

是因为mybatis这个第三方持久化框架返回来的是被匹配的影响行数,所以执行多次都不会返回0

如果想要以返回的行数作为判断结果,则jdbc连接就要增加useAffectedRows=true这个参数

相关推荐
界面开发小八哥1 分钟前
「Java EE开发指南」用MyEclipse开发EJB 3无状态会话Bean(二)
java·ide·java-ee·eclipse·myeclipse
LCY1337 分钟前
spring security +kotlin 实现oauth2.0 认证
java·spring·kotlin
soulermax10 分钟前
数字ic后端设计从入门到精通2(含fusion compiler, tcl教学)
java·linux·服务器
我的代码永没有bug15 分钟前
day1-小白学习JAVA---JDK安装和环境变量配置(mac版)
java·学习·macos
愚公搬代码18 分钟前
【愚公系列】《Python网络爬虫从入门到精通》055-Scrapy_Redis分布式爬虫(安装Redis数据库)
数据库·爬虫·python
王有品26 分钟前
Spring MVC 一个简单的多文件上传
java·spring·mvc
pwzs29 分钟前
深入浅出 MVCC:MySQL 并发背后的多版本世界
数据库·后端·mysql
大熊猫今天吃什么1 小时前
【一天一坑】空数组,使用 allMatch 默认返回true
前端·数据库
Johnny Lnex1 小时前
JVM之经典垃圾回收器
java
双叶8361 小时前
(51单片机)LCD显示数据存储(DS1302时钟模块教学)(LCD1602教程)(独立按键教程)(延时函数教程)(I2C总线认识)(AT24C02认识)
c语言·数据库·单片机·嵌入式硬件·mongodb·51单片机·nosql