我的查询如下......
INSERT INTO MYTABLE (f1,f2,f3,f4) VALUES (1,2,3,4) ON DUPLICATE KEY UPDATE f4=5;
我已经实现了目标,
创建连接,声明和&执行查询如下
statement.execute(query);
但是,现在我需要查找代码是执行了INSERT还是UPDATE?
任何人都可以帮我解决这个问题吗?
提前致谢...
答案 0 :(得分:2)
您可以使用两个语句:executeUpdate
返回受影响的行数。如果该数字为0,则必须执行插入。
答案 1 :(得分:1)
我不知道任何特定的内置功能或解决方法。
但在我的情况下,我会以一种简单的方式使这成为可能
select count(*) as oldcount from MYTABLE;
在此级别执行您的查询
INSERT INTO MYTABLE (f1,f2,f3,f4) VALUES (1,2,3,4) ON DUPLICATE KEY UPDATE f4=5;
select count(*) as newCount from MYTABLE;
retrive OLDCOUNT and NEW COUNT
if(oldcount != new count)
{
//InsertPerformed
}
else
{
//updateperformed
}