Mysql
 sql >> Database >  >> RDS >> Mysql

La selezione delle coordinate geografiche più vicine utilizzando l'indice spaziale sulla tabella mysql non funziona

Hai una parentesi mancante, non stai chiudendo il tuo LineFromText.

Prova:

SELECT  *
FROM    mytable
WHERE   MBRContains(LineFromText(CONCAT(
    '('
    , @lon + 10 / ( 111.1 / cos(RADIANS(@lon)))
    , ' '
    , @lat + 10 / 111.1
    , ','
    , @lon - 10 / ( 111.1 / cos(RADIANS(@lat)))
    , ' '
    , @lat - 10 / 111.1 
    , ')' ))
    ,mypoint)