mysql十进制数据类型超出列的范围值

时间:2015-08-28 12:14:06

标签: mysql ruby-on-rails

我正在尝试将值分配给十进制列,但它给我的错误为"Mysql2::Error: Out of range value for column"

column lattitude(10,7)

正如您所见,我的lattitude列可以接受最多10位数,并且可以接受小数点后的7位数。

INSERT INTO mytable (lattitude) VALUES (1234.12345);

我想知道为什么上面的sql语句给我一个错误。根据我的研究,它不应该给我一个错误,因为它总共有9位数字和小数点后5位数。

1 个答案:

答案 0 :(得分:2)

如果您的类型可以在小数位之后接受7位,它可以接受10位数,那么该类型只能接受3位 >小数位。

您的样本数据在小数位前有四位数,因此您需要:

latitude decimal(11, 7)

当然,纬度的四位数字是没有意义的,至少是在地球表面定义纬度的方式。