表t_test中已存在id = 97并且num = 2的記錄重復(fù)執(zhí)行以下SQL:UPDATE t_test SET num = 2 WHERE id = 97;select ROW_COUNT();在navicat for mysql或者mysql workbench中,ROW_COUNT()=0,但是在java程序(dbutils框架)中總是返回1,有沒(méi)有大神解釋一下?
1 回答

手掌心
TA貢獻(xiàn)1942條經(jīng)驗(yàn) 獲得超3個(gè)贊
正常的代碼就是返回0
,因?yàn)檫@個(gè)值的意義在于受影響的行數(shù),由于這個(gè)地方原值已經(jīng)為2,所以受影響的行數(shù)結(jié)果為0無(wú)誤。
對(duì)此框架不了解,我推測(cè)原因如下:
因?yàn)榭蚣苤锌紤]到此處結(jié)果一般作為判斷操作成功與否的標(biāo)志,如果一直返回0,則會(huì)進(jìn)入錯(cuò)誤邏輯中,故此大部分框架都會(huì)重新修改這個(gè)值。
添加回答
舉報(bào)
0/150
提交
取消