将纬度,经度的MYSQL 5.7点表示插入表

时间:2016-04-14 15:05:16

标签: mysql latitude-longitude

我有一个表格geom如下:

id (Int) not null (pk),
name (varchar 25),
timestamp (timestamp),
lat (decimal 6,4),
lon (decimal 6,4),
g (geometry),
pt (point)

我有另一个填充lat,lon字段的进程。

我想填充pt字段以利用5.7的地理空间扩展

如果我胖手指lon,拉入下面的insert语句就可以正常工作了:

set@g='point( -80.00 40.00)';

insert into geom (pt,timestamp) values (pointfromtext(@g),now());

但我想使用存储在该记录的lon,lat字段

中的值

我可以使用concat语句创建看起来正确的值,但插入" pointfromtext"声明不会取结果

1 个答案:

答案 0 :(得分:0)

使用(其中包括)构建SQL

CONCAT("point(", lon, ",", lat, ")")
如果您希望覆盖整个世界,

lon需要DECIMAL(7.4)