如何正确地将纬度和经度坐标插入 mySQL float?
How do I properly insert latitude & longitude coordinates into mySQL float?
我正在尝试将 150.1835024
和 32.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 个字节。
我正在尝试将 150.1835024
和 32.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 个字节。