3

我知道MySQL支持这个查询(ON DUPLICATE KEY UPDATE)例如:

INSERT INTO UserFailure (Realm, Username, DateOfFailure, CountOfFailure) VALUES (?,?,?,?) ON DUPLICATE KEY UPDATE CountOfFailure=?;

当我在嵌入式上运行它时,Derby DB它给了我:

PreparedStatementCallback; bad SQL grammar [INSERT INTO UserFailure (Realm, Username, DateOfFailure, CountOfFailure) VALUES (?,?,?,?) ON DUPLICATE KEY UPDATE CountOfFailure=?;]; nested exception is java.sql.SQLSyntaxErrorException: Syntax error: Encountered "ON" at line 1, column 91.

我假设Derby不支持此功能。

是否有一个查询可以用来更新来自Derby和来自重复键的数据库记录MySQL

4

1 回答 1

2

您可以自己捕获重复键异常,然后发出更新。

于 2012-09-11T02:41:48.060 回答