У меня есть таблица MySQL с столбцом Double datatype, когда я вставляю значение, содержащееся в Java Double. Я всегда получаю ошибку усечения.Mysql DOUBLE данных столбца с усеченным исключением с использованием Java Double
Mrz 19, 2015 11:26:00 AM 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
Каков размер столбца SHARE? – ConMan
Ожидал бы, что 'DOUBLE (30, 15)' будет работать, скажем, '1.5'. Попробуйте все в консоли консоли mysql, workbench, Toad или IDE SQL. Я думаю, что проблема была в том, что касается целого числа цифр, мантиссы. –