2012-01-21 4 views
4

위도와 경도 값을 가진 MySQL 테이블이 있습니다. 저는 MySQL 5의 공간적인 것들을 가지고 놀고 싶습니다. 어떻게 동작하는지 보려고합니다.mysql update geo point

그러나 기존 값에서 생성 된 포인트 데이터를 얻는 데는 실제로 문제가 있습니다. 이런 식으로 시도했지만, 시도한 모든 형식의 구문 오류로 인해 실패합니다. 누군가가 이것을 할 올바른 방법을 지적 할 수 있습니까?

UPDATE locationtable a SET geopoint = GeomFromText('POINT()' a.latitude a.longitude) WHERE 1 

UPDATE locationtable a SET geopoint = GeomFromText('POINT() a.latitude a.longitude') WHERE 1 

그리고 다른 사람 ...

답변

10

는이 작업을 수행 할 뜻이

을 ?:을

UPDATE locationtable a SET geopoint = GeomFromText(POINT() a.latitude a.longitude) WHERE 1 

는 또한 포함하여 다른 변화를 시도했습니다

UPDATE locationtable AS a 
SET a.geopoint = POINT(a.latitude, a.longitude) 
+0

그게 다야! 감사합니다 ypercube. 그저'GeomFromText'를 사용하고 있었기 때문에 모든 데모에서 보았습니다. 나는 그런 식으로 포인트를 설정할 수 있다는 것을 몰랐다. – julio

+0

또한 geopoint = GeomFromText (CONCAT ('POINT (', a.latitude, '', a.longitude, ')'))')를 사용할 수도 있지만이 경우에는 그런 합병증에 대한 이유가 표시되지 않습니다. –

0

이 시도 :

UPDATE locationtable a SET geopoint = GeomFromText('POINT(a.latitude a.longitude)') WHERE 1 
+0

hmmm-- 오류가 없지만이 방법으로 0 행이 업데이트되었다고합니다. – julio

+0

'WHERE 1'부분을 제거하십시오. –

+0

동일한 결과 - 오류는 없지만 0 행이 업데이트되었습니다. – julio