Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Verschieben von Lat/Lon-Textspalten in eine Spalte vom Typ "Punkt".

Angenommen, Sie möchten einen SPATIAL Index für diese Spalte:

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);

Wenn Sie dies nicht tun, können Sie die letzten beiden Schritte auslassen.

Aktualisierung:

In früheren Versionen von MySQL , müssten Sie Point ausfüllen Spalten mit WKT :

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