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

Crea colonna spaziale MySQL - Tipo di dati Point con lat long senza utilizzare la tabella Alter

Il campo del punto contiene sia i dati di latitudine che di longitudine memorizzati al suo interno e possono essere recuperati abbastanza facilmente se necessario. Supponendo che il tuo campo punto sia nome pt, la seguente query fornisce queste informazioni.

SELECT ST_Y(pt), ST_X(pt) FROM my_spatial_table;

Questo è esattamente lo stesso che fare

SELECT Y(pt), X(pt) FROM my_spatial_table;

poiché X e ST_X sono pseudonimi. Quindi in breve ti serve solo il campo del punto.

Puoi aggiungere il tuo campo pt come segue:

ALTER TABLE my_table ADD COLUMN GEOMETRY;

Quindi puoi spostare i dati dalle colonne di latitudine e longitudine esistenti come segue:

UPDATE my_table SET pt = PointFromText(CONCAT('POINT(',longitude,' ',latitude,')'))

Per maggiori dettagli su questo, vedere:https://stackoverflow.com/a/7135890/267540
http://dev.mysql .com/doc/refman/5.7/en/poulating-spatial-columns.html