我有一个查询如下...
INSERT INTO MYTABLE (f1,f2,f3,f4) VALUES (1,2,3,4) ON DUPLICATE KEY UPDATE f4=5;
我所取得的成就,
创建连接,语句和执行查询如下
statement.execute(query);
但是,现在我需要找出代码是否执行了 INSERT 或 UPDATE ?
谁能帮我这个??
提前致谢...
您可以改用两条语句:executeUpdate
返回受影响的行数。如果该数字为 0,则您必须执行插入。
我不知道任何特定的内置功能或解决方法。
但就我而言,我会以一种简单的方式使之成为可能
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
}