0

我需要使用 Java 驱动程序对条件 C 的给定表执行更新。

如果没有符合条件 C 的行,我需要在表中插入一个新实体。如果该行存在,那么更新就足够了。

为此,是否可以从更新查询中返回以下两个信息:

-Matched rows count
-Updated rows count

我相信 executeUpdate 只返回更新的行数。问题是,如果更新查询不更新任何内容,它可能为零,所以我无法知道 0 是否意味着不匹配(并且我需要执行插入)或不更新。

注意:解决方法可能是插入一个随机字段(或日期),每次都会更新,但我更喜欢更好的解决方案。

谢谢

4

1 回答 1

1

更新和匹配的行数相同。即使该行已经具有更新中传递的值,它也会被计为更新的行:

id   name
1    foo

update mytable set name = 'foo' where id = 1;

--> 1 row updated
于 2013-02-17T16:45:26.777 回答