搜尋

首頁  >  問答  >  主體

java - MYSQL5.6 ROW_COUNT()返回不一致

表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,有没有大神解释一下?

高洛峰高洛峰2888 天前411

全部回覆(1)我來回復

  • 黄舟

    黄舟2017-04-18 09:07:55

    正常的程式碼就是回傳0,因為這個值的意義在於受影響的行數,由於這個地方原值已經為2,所以受影響的行數結果為0無誤。
    對此框架不了解,我推測原因如下:
    因為框架中考慮到此處結果一般作為判斷操作成功與否的標誌,如果一直返回0,則會進入錯誤邏輯中,故此大部分框架都會重新修改這個值。

    回覆
    0
  • 取消回覆