gpt4 book ai didi

java - executeUpdate 返回行数而不是受影响的行数

转载 作者:行者123 更新时间:2023-11-30 02:20:24 24 4
gpt4 key购买 nike

PreparedStatement updatestmt1 = con.prepareStatement("update BASE_TX set tx_vl=replace(tx_vl,?,?)");
updatestmt1.setString( 1, "${parm:"+ stringToreplace.trim() +"}" );
updatestmt1.setString( 2, "${parm:" + replacedString.trim() + "}" );

int ifUpdated1 = updatestmt1.executeUpdate();

ifUpdated1 返回 14480,而不是受影响的行数,在我运行的情况下没有受影响的行数。所以我无法打电话询问它们是否真的更新了。

最佳答案

这是正确的行为。由于您没有设置 WHERE,因此所有行都会受到影响。您的替换是身份这一事实与数据库无关。如果您确实想获取受影响的行,请使用 where ,如下所示:

“更新 BASE_TX 设置 tx_vl=replace(tx_vl,?,?),其中 tx_vl != 替换(tx_vl,?,?)”

请注意,它会减慢您的查询速度,但会减少 IO,这实际上可能在您的情况下更好。

关于java - executeUpdate 返回行数而不是受影响的行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47031489/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com