sql >> Base de Datos >  >> RDS >> Mysql

Mover columnas de texto de latitud/longitud a una columna de tipo 'punto'

Asumiendo que quieres un SPATIAL índice en esta columna:

ALTER TABLE mytable ADD coords Point;

UPDATE  mytable
SET     coords = Point(lon, lat);

ALTER TABLE mytable MODIFY coords POINT NOT NULL;

CREATE SPATIAL INDEX sx_mytable_coords ON mytable(coords);

Si no lo hace, puede omitir los dos últimos pasos.

Actualización:

En versiones anteriores de MySQL , tendría que rellenar Point columnas usando WKT :

UPDATE  mytable
SET     coords = GeomFromText(CONCAT('POINT (', lon, ' ', lat, ')'))