如果我们有一个包含10行的表,并且我们执行此查询两次,则第二次得到错误的受影响行数。
3kl239zz
显然它不正确,因为在第一个查询中,所有行的价格都更新为1000,而在第二个查询中,实际上没有任何变化,但它再次返回10!
如何获取实际更新的行数?
答案 0 :(得分:5)
JDBC规范显然要求驱动程序executeUpdate()
返回UPDATE语句找到的行数,而不是实际受影响的行数。< / p>
要让MySQL Connector / J返回实际更改的行数,您可以将属性useAffectedRows=true
添加到您的连接URL,尽管documentation确实警告它是
不符合JDBC标准,会破坏大多数依赖“找到”行和DML语句“受影响行”的应用程序