2015-04-26 69 views
1

我試圖將值添加到所謂chests特定的用戶,當我執行此方法:MySQL錯誤 - 不正確DOUBLE值:「箱子」

public void addAmm(Player player, int amount, DataType type) { 
    try { 
     Statement sql = mySql.getConnection().createStatement(); 
     sql.executeUpdate("UPDATE `playerinfo` SET `chests`= '" + amount + "' + 'chests' WHERE Username='" + player.getName() + "';"); 
     sql.close(); 
    } catch (SQLException e) { 
     e.printStackTrace(); 
    } 
} 

它給我這個錯誤:

[12:26:14 WARN]: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Truncated
incorrect DOUBLE value: 'chests'

回答

1

我們假設amount5player.getName()Paul。你得到的是:

"UPDATE `playerinfo` SET `chests`= '5' + 'chests' WHERE Username='Paul';" 

所以你分配給'5' + 'chests'`chests`。如果此列的類型爲double,則必須轉換(截斷)分配的值。

可能是你想要的,而以下幾點:

"UPDATE `playerinfo` SET `chests`= '5' + `chests` WHERE Username='Paul';" 

"UPDATE `playerinfo` SET `chests`= '" + amount 
        + "' + `chests` WHERE Username='" + player.getName() + "';" 

這增加amount`chests`列的值對玩家Paul

相關問題