如何正确插入纬度和&经度坐标到mySQL float?

时间:2016-09-27 22:41:58

标签: mysql precision sqldatatypes

我正在尝试将150.183502432.8392648之类的内容插入mySQL float。问题是当我尝试创建像FLOAT 3,7这样的mySQL字段时,它不起作用。什么是正确的格式?

这是我得到的错误:

An error occurred when trying to add the field 'location_lat' via

 ALTER TABLE `data` ADD `location_lat` FLOAT(3,7)
 NULL
 DEFAULT NULL
 AFTER `fees`

MySQL said: For float(M,D), double(M,D) or decimal(M,D), 
M must be >= D (column 'location_lat').

3 个答案:

答案 0 :(得分:3)

看看错误,因为它说 MySQL说:对于float(M,D).. M必须是> = D 并且你的查询实际上应该是

ALTER TABLE `data` ADD `location_lat` FLOAT(7,3)

浏览MySQL Documentation On Floating-Point Types

  

MySQL允许非标准语法:FLOAT(M,D)。这里,(M,D)意味着   值最多可以存储M个数字,其中D个数字   可能在小数点后面。

答案 1 :(得分:3)

第一个数字是小数点的右侧和左侧的总位数。第二个数字是小数点右边所需的位数。所以你正在寻找:

ALTER TABLE `data` ADD `location_lat` FLOAT(10,7)

答案 2 :(得分:0)

使用FLOAT(m,d),只需使用FLOAT即可。前者增加了一个额外的回合,无需购买任何东西。

在任何一种情况下,FLOAT都需要4个字节。