我需要在我的MySQL数据库的表tbl_range
中插入这个十进制值:
1866752.0
我设定了范围'范围'在表tbl_range
中:
CREATE TABLE `tbl_range` (
`Range` decimal(10,5) DEFAULT NULL,
`id` int(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
但是在查询中插入了我的错误:
[Err] 1264 - Out of range value for column 'Range' at row 1
答案 0 :(得分:0)
DECIMAL(X,Y)
:X =总位数。 Y =小数点后的位数。
由于您声明DECIMAL(10,5)
,因此您的最大数量为99999.99999,比您尝试插入的数字要小一些。
稍微增加第一个数字,具体取决于您希望在表格中处理的数字大小,或者减少第二个数字。你真的需要小数点后的5位数吗?
答案 1 :(得分:0)
你必须改变:
Range
十进制(10,5)DEFAULT NULL,
到
Range
十进制(15,5)DEFAULT NULL,
因为第一个参数表示包括十进制值的总位数。因此,如果您正在放(10,5),那么您可以插入最多99999.99999。但是你所要求的价值要高于那个。