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