如何在db MySQL十进制中使用?

时间:2014-03-24 09:34:37

标签: mysql sql

我需要在我的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

2 个答案:

答案 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。但是你所要求的价值要高于那个。