2011-05-03 54 views
0

我有以下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

您使用了什么插入查询? – Ruben 2011-05-03 08:44:10

+0

你试图插入什么值? – DhruvPathak 2011-05-03 08:44:21

+0

不要使用主键的双打!双倍你永远不能确定(1 = 2-1)由于舍入误差是真实的。使用整数作为PK。 – Johan 2011-05-03 10:47:28

回答

1

double(12,11)是太精确,我认为;-)

编辑:我的意思是,尝试double(12,4)或任何你需要的; (12,11)是双精度的“超出范围”