2016-04-14 55 views
1

我有一個表的geom如下:插入緯度的MYSQL 5.7點表示,經度到表

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

我有另一個過程,填充緯度,經度字段。

我想填充PT場拿5.7的地理空間擴展

的優勢,如果我胖手指的經度,緯度分爲以下INSERT語句正常工作:

[email protected]='point(-80.00 40.00)'; 

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

,但我想使用存儲在該記錄的lon,lat域中的值

我可以使用concat語句創建看起來像正確的值,但插入「pointfromtext」語句不會得到結果

如果你希望覆蓋整個世界
+0

可能重複[創建MySQL空間列 - 使用lat long而不使用Alter表的點數據類型](http://stackoverflow.com/questions/39612856/create-mysql-spatial-column-point-data-type- with-lat-long-without-using-alter) – e4c5

回答

0

構造SQL使用,除其他事項外,

CONCAT("point(", lon, ",", lat, ")") 

lon需要DECIMAL(7.4)

+0

非常感謝你在這裏的工作感謝查看這個&有關十進制結構的信息:set @ g =(select CONCAT(「point(」,lon ,'',lat,「)」)作爲來自geom的id = '13'); 插入到geom(pt,timestamp)值(pointfromtext(@g),now()); – Hankrausch