如何正确地将纬度和经度坐标插入 mySQL float?

How do I properly insert latitude & longitude coordinates into mySQL float?

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

这是我得到的错误:

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').

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

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

通过MySQL Documentation On Floating-Point Types

MySQL permits a nonstandard syntax: FLOAT(M,D). Here, (M,D) means than values can be stored with up to M digits in total, of which D digits may be after the decimal point.

第一个数字是小数点左右两边的总位数。第二个数字是您希望小数点右边的位数。所以你正在寻找:

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

不要不要使用FLOAT(m,d),只需使用FLOAT。前者增加了一个额外的回合,但不会给你带来任何好处。

A FLOAT 在任何一种情况下都占用 4 个字节。