2014-01-24 1 views
1

위도/경도를 사용하여 거리를 기준으로 마일을 쌓은 StackOverflow에서 발견 된 코드를 테스트하고 있습니다. 이 메서드를 사용하는 모든 질문과 대답은 데이터베이스에서이 쿼리를 실행할 때 발생하는 문제를 해결하지 못합니다.위도/경도 MySQL 쿼리 오류 발생 (# 1064)

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'long) - radians('-71.0636')) + sin(radians('42.3581')) * sin(radians(lat)' at line 1 

내가 시도 심지어 괄호에있는 공백을 제거하는 노력 등 위도 및 경도 좌표, 아니 작은 따옴표, 주위에 작은 따옴표를 사용하여 :

SELECT *, (3959 * acos(cos(radians('42.3581')) * cos(radians(lat)) * cos(radians(long) - radians('-71.0636')) + sin(radians('42.3581')) * sin(radians(lat)))) AS distance FROM geo_top_cities HAVING distance < 25 ORDER BY distance LIMIT 0 , 20 

나는 말한다 오류를 얻고있다 그것은 아무것도 바뀌지 않았습니다.

답변

1

long은 MySQL의 경우 reserved keyword입니다. 그것을 백틱으로 둘러 쌀 필요가 있습니다!

+1

나는 그것이 명백한 무엇인가라고 느끼고 있었다. 고맙습니다! – NotJay