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

相关推荐
皮皮林5514 小时前
Java性能调优黑科技!1行代码实现毫秒级耗时追踪,效率飙升300%!
java
冰_河4 小时前
QPS从300到3100:我靠一行代码让接口性能暴涨10倍,系统性能原地起飞!!
java·后端·性能优化
桦说编程7 小时前
从 ForkJoinPool 的 Compensate 看并发框架的线程补偿思想
java·后端·源码阅读
躺平大鹅9 小时前
Java面向对象入门(类与对象,新手秒懂)
java
初次攀爬者10 小时前
RocketMQ在Spring Boot上的基础使用
java·spring boot·rocketmq
花花无缺10 小时前
搞懂@Autowired 与@Resuorce
java·spring boot·后端
倔强的石头_10 小时前
kingbase备份与恢复实战(二)—— sys_dump库级逻辑备份与恢复(Windows详细步骤)
数据库
Derek_Smart11 小时前
从一次 OOM 事故说起:打造生产级的 JVM 健康检查组件
java·jvm·spring boot
NE_STOP12 小时前
MyBatis-mybatis入门与增删改查
java