我需要使用条件C对带有java驱动程序的给定表执行更新。
如果没有与条件C匹配的行,我需要在表中插入一个新实体。 如果该行存在,那么就应该进行更新。
为此,是否可以从更新查询返回以下两个信息:
-Matched rows count
-Updated rows count
我相信executeUpdate只返回更新的行数。 问题是,如果更新查询没有更新任何内容,它可能为零,所以我无法知道0表示不匹配(我需要执行插入)或不更新。
注意:解决方法可能是插入一个随机字段(或日期),每次都会更新,但我更喜欢更好的解决方案。
由于
答案 0 :(得分:1)
更新和匹配的行数相同。即使该行已经具有更新中传递的值,它也将被计为更新的行:
id name
1 foo
update mytable set name = 'foo' where id = 1;
--> 1 row updated