ошибка точности MySQL

#mysql #precision

#mysql #точность

Вопрос:

У меня есть следующая структура MySQL

 id               double PK
datenum          double(12,11)
Timestamp        varchar(25)
Min_F1_baro_20_  float
Max_F1_baro_20_  float
Mean_F1_baro_20_ float
  

но когда я пытаюсь вставить значение, я получаю следующую ошибку:

ОБНОВЛЕНО

 ERROR 1264: Out of range value for column 'datenum' at row 1
  

Инструкция SQL:

 INSERT INTO `forwind`.`metozean_aggregateddata_fino_0_01666667_14_01_2010_00_00` (`id`, `datenum`, `Timestamp`, `Min_F1_baro_20_`, `Max_F1_baro_20_`, `Mean_F1_baro_20_`) VALUES (1, 435.34, '2011-12-12 12:12:12', 12, 12, 12)
  

Комментарии:

1. Какой запрос на вставку вы используете?

2. какие значения вы пытаетесь вставить?

3. не используйте двойные значения для первичных ключей!! с double вы никогда не можете быть уверены, что (1 = 2-1) истинно из-за ошибок округления. Используйте целые числа для PK.

Ответ №1:

double(12,11) я думаю, это слишком точно;-)

Редактировать: я имею в виду, попробуйте double(12,4) или что вам нужно; (12,11) находится «вне диапазона» двойной точности