Java MySQL错误-不正确的双精度值:';箱子';
当我执行此方法时,我试图向特定用户添加一个值,即所谓的Java MySQL错误-不正确的双精度值:';箱子';,java,mysql,sql,Java,Mysql,Sql,当我执行此方法时,我试图向特定用户添加一个值,即所谓的chests: public void addAmm(Player player, int amount, DataType type) { try { Statement sql = mySql.getConnection().createStatement(); sql.executeUpdate("UPDATE `playerinfo` SET `chests`= '" + amount + "'
chests
:
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警告]:com.mysql.jdbc.MysqlDataTruncation:数据截断:截断不正确的双精度值:“胸部”
让我们假设
amount
是5
,而player.getName()
是Paul
。你得到的是:
"UPDATE `playerinfo` SET `chests`= '5' + 'chests' WHERE Username='Paul';"
因此,您将'5'+'chests'
分配给'chests`
。如果此列的类型为double,则必须转换(截断)指定的值
您可能更想要以下内容:
"UPDATE `playerinfo` SET `chests`= '5' + `chests` WHERE Username='Paul';"
i、 e
这会将玩家保罗的金额添加到`chests`
列的值中
"UPDATE `playerinfo` SET `chests`= '" + amount
+ "' + `chests` WHERE Username='" + player.getName() + "';"