簡體   English   中英

插入mysql條目(如果不存在),更新(如果存在)java

[英]Inserting mysql entry if doesn't exist, updating if it does exist java

我想插入一個不存在的條目,否則更新該條目,我無法使用ON DUPLICATE KEY UPDATE,我對語法感到困惑。 所以我試圖做這樣的事情:

    final String QUERY = "REPLACE INTO skills SET VALUES (" + insert(player) + ") WHERE playername = '" + player.getUsername() + "'";
    statement.execute(QUERY);

    statement.close();
    connection.close();
}

private static String insert(Player player) {
    String stringToReturn = "'" + player.getUsername() + "',";
    for (int index = 0; index < 25; index++) {
        stringToReturn += player.getSkills().getLevels()[index] + "," + ((int) player.getSkills().getXp()[index]) + ",";
    }
    stringToReturn = stringToReturn.substring(0, stringToReturn.length() - 1);
    return stringToReturn;
}

但這是不正確的語法,所以我想知道如何才能做到這一點?

玩家名稱是主鍵

我認為使ON DUPLICATE KEY UPDATE為您工作的正確語法是:

"INSERT INTO skills (playerName, otherColumn) 
    VALUES ('" + player.getUsername() + "', '" + insert(player) +"')
 ON DUPLICATE KEY UPDATE otherColumn = VALUES(otherColumn)";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM