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这个参数

相关推荐
失散13几秒前
分布式专题——53 ElasticSearch高可用集群架构实战
java·分布式·elasticsearch·架构
only-code6 分钟前
MCP驱动的Rgentic RRG(向量数据库+网络搜索)
数据库·python·大模型·函数调用·mcp
lkbhua莱克瓦2410 分钟前
Java入门——Java跨平台的原理
java·开发语言·笔记·github
float_com26 分钟前
【java阶段练习】----- 学生管理系统
java
爱笑的源码基地28 分钟前
基于Java+Spring Boot、Vue的B/S医院患者随访管理系统源码,支持二次开发,三级随访体系(出院/门诊随访)、智慧云库(表单配置)
java·vue.js·spring boot·源码·程序代码·随访系统·诊后回访
我曾遇到一束光37 分钟前
Springboot3.X+security6.5+jdk21
java·开发语言
jtymyxmz41 分钟前
1.1.4 Spring的下载及目录结构
java·后端·spring
robch43 分钟前
Spring 的 DelegatingFilterProxy 用法
java·后端·spring
tryxr1 小时前
Java 不同创建线程的方式什么时候才可以使用 this 来获取线程的引用
java·开发语言·多线程
代码程序猿RIP1 小时前
【C 语言面试】高频考点深度解析
java·面试·职场和发展