首先我们都很清楚执行update语句,返回的结果是受影响的行数这是要先说的,
其次本人遇到执行update语句返回0的情况有两种
1、Update的sql语句中的where条件不成立时,返回结果是0
例如
表结构如下
假设id最大为22,而我的sql语句如下
UPDATE business SET uid='11' where id=25
当执行以上的sql时,返回的结果为0,也就是where条件不成立时。
2、update在更新时,更新的数据与原数据一致返回结果为0,sql如下
UPDATE business SET uid='1' WHERE id=1
但是第二种情况,需要看使用的数据库软件,当我使用Dbdriver进行测试时,它返回的受影响行数为1,返回的0的软件的是SQLyog执行的。
之所以要关注这个问题时,有场景的业务逻辑需要受影响行数判断来区分执行。