数据库
首页 > 数据库> > 在Mysql中存储经度/纬度的数据类型

在Mysql中存储经度/纬度的数据类型

作者:互联网

'43.005895','-71.013202'

试图使用:

INSERT INTO table(fanDetLocZip, fanDetLocCity, fanDetLocState, fanDetLocLat, fanDetLocLong, fanDetLocTZ, fanDetLocDST)  
VALUES(00210, 'Portsmouth', 'NH', '43.005895', '-71.013202', -5, 1);

我目前正在使用数据类型SPATIAL,GEOMETRY.

它给我的错误如下:

无法从发送到GEOMETRY字段的数据中获取几何对象

所有值都有2位数,小数点后6位小数.我如何将其存储在mysql中?

我使用时遇到错误:
INSERT INTO表(fanDetLocZip,fanDetLocCity,fanDetLocState,fanDetLocLatLong,fanDetLocTZ,fanDetLocDST)
VALUES(00210,’朴茨茅斯’,’NH’,点(43.005895,-71.013202), – 5,1)

错误图片:

解决方法:

您可以使用POINT()存储到GEOMETRY或POINT类型的列中:

POINT(43.005895, -71.013202)

如果Geometry列名为geom,则可以使用:

INSERT INTO table
    ( ..., geom, ...) 
  VALUES
    ( ..., POINT(43.005895, -71.013202), ...)

如果要显示存储的数据,可以使用X() and Y()功能:

SELECT X(geom) AS x, Y(geom) AS y
FROM table 

标签:mysql,floating-point,geospatial,sqldatatypes
来源: https://codeday.me/bug/20191004/1853751.html