我知道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
的重复密钥的数据库记录?
答案 0 :(得分:2)
您可以自己捕获重复的密钥异常,然后发出更新。