0
我有一个Double数据类型列的MySQL表,当我插入一个Java Double中包含的值时,我总是得到一个截断错误。Mysql DOUBLE列数据使用Java Double截断异常Double
MRZ 19,2015年上午11点26分〇〇秒databaseimport.MyImport的executeQuery SCHWERWIEGEND:空值java.sql.SQLException:数据截断 '分享' 柱1行
我试图改变列的DOUBLE PRECISION(30,30)似乎是DOUBLE的最大值,但错误依然存在,因此精度更高。
下面示例代码段:
Double share = (Double) shareRow.get("share");
sql = ("INSERT INTO `SHARE_VALUES` (`ID`, `SHARE`)" +
"VALUES (NULL, "+share+");");
try
{
// Create a Preparedstatement
PreparedStatement ps;
ps = connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
ps.execute();
ResultSet generatedKeys = ps.getGeneratedKeys();
}
catch (SQLException ex)
{
java.util.logging.Logger.getLogger(Shares.class
.getName()).log(Level.SEVERE, null, ex);
return -1;
}
请提供一个插入/更新语句的Java代码的剪切.... – Marcx 2015-03-19 10:53:10
SHARE列允许什么大小? – ConMan 2015-03-19 13:01:15
期望'DOUBLE(30,15)'可以用于说'1.5'。在MySQL控制台,工作台,Toad或IDE SQL控制台中尝试一下。我认为问题是整数数字的空间,即尾数。 – 2015-03-19 13:14:03