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

你可能感兴趣的:(技术随笔,sql,java,数据库)