java MySQL upsert(在重复键上)使用JDBC准备语句
我正在尝试编写一个方法,用java编写一个准备好的语句来实现UPSERT功能。代码如下所示
public boolean addUserDeviceToken(String userid, String password, String deviceToken, Connection connection) {
String addDeviceToken = "INSERT INTO swiped.Users (userid, password, deviceToken) VALUES( ?, ?, ?) ON DUPLICATE KEY UPDATE devicetoken = ?";
boolean result = false;
ResultSet rs = null;
PreparedStatement st = null;
try {
st = connection.prepareStatement(addDeviceToken);
st.setString(1, userid);
st.setString(2, password);
st.setString(3, deviceToken);
st.setString(4, deviceToken);
我不确定的是我是使用st.executeQuery();
还是st.executeUpdate();
,因为它肯定取决于重复密钥的条件
正确的方法是什么
谢谢
# 1 楼答案
你不想得到结果集,除了插入或更新的次数之外,没有结果,只需使用^{}
摘自javadoc: