java preparedstatement executeUpdate返回错误的受影响的行

时间:2015-12-07 13:16:45

标签: java spring prepared-statement jdbctemplate

我使用spring jdbctemplate来更新一些行,bute我得到了这个日志消息。两个完全相同的sql返回不同的受影响的行。第二次更新操作没有办法返回0个受影响的行。我只是无法想象它进行。

2015-12-03 12:37:37 [INFO] [qtp683362635-1187] c.t.s.c.i.d.IDGJdbcDao - update:

update JCSZ..T_IDG
   set N_VALUE = ?
 where C_BusinessID = ?
   and C_ComID = ?
   and C_RateID = ?
   and N_TYPE = ?
   and N_ConfType = ?

受影响的行:373行

        2015-12-03 12:37:38 [INFO] [qtp683362635-746] c.t.s.c.i.d.IDGJdbcDao - update:
update JCSZ..T_IDG
   set N_VALUE = ?
 where C_BusinessID = ?
   and C_ComID = ?
   and C_RateID = ?
   and N_TYPE = ?
   and N_ConfType = ?

受影响的行:0行

1 个答案:

答案 0 :(得分:1)

进行一些研究(询问谷歌)我在UPDATE WITH RETURNING上找到了一些提示,只给出了实际更改的行数。在leas,这应该是:

的行为

我认为它也适用于其他数据库系统。

因此,当您执行两次完全相同的更新查询时,您的结果正是应该发生的事情。第一次更改所有内容时,返回找到的行数,第二次不再更改任何内容,为您提供0