我试图在执行此方法时向特定用户添加一个值,称为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.mysql Data truncation:数据截断:截断
不正确的双精度值:“chests”
最佳答案
假设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';"
即
"UPDATE `playerinfo` SET `chests`= '" + amount
+ "' + `chests` WHERE Username='" + player.getName() + "';"
这会将
amount
添加到player`chests`
的columnPaul
值中。关于java - MySQL错误-不正确的DOUBLE值:“chests”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29876512/