表t_test中已存在id = 97并且num = 2的记录
重复执行以下SQL:
UPDATE t_test SET num = 2 WHERE id = 97;
select ROW_COUNT();
在navicat for mysql或者mysql workbench中,ROW_COUNT()=0,但是在java程序(dbutils框架)中总是返回1,有没有大神解释一下?
黄舟2017-04-18 09:07:55
正常的代码就是返回0
,因为这个值的意义在于受影响的行数,由于这个地方原值已经为2,所以受影响的行数结果为0无误。
对此框架不了解,我推测原因如下:
因为框架中考虑到此处结果一般作为判断操作成功与否的标志,如果一直返回0,则会进入错误逻辑中,故此大部分框架都会重新修改这个值。