0

条件C、Javaドライバーを使用して、特定のテーブルで更新を実行する必要があります。

条件Cに一致する行がない場合は、テーブルに新しいエンティティを挿入する必要があります。行が存在する場合は、更新で十分です。

そうするために、更新クエリから次の2つの情報を返すことは可能ですか。

-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 に答える