sql >> Database >  >> RDS >> Mysql

Lat/lon-tekstkolommen verplaatsen naar een kolom van het 'punt'-type

Ervan uitgaande dat je een SPATIAL . wilt index op deze kolom:

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

Als je dat niet doet, kun je de laatste twee stappen overslaan.

Bijwerken:

In eerdere versies van MySQL , moet u Point . invullen kolommen met behulp van WKT :

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


  1. Wat is het gegevenstype voor unix_timestamp (MySQL)?

  2. Het opgegeven wachtwoord voor gebruikersaccount 'root' is niet geldig of kan geen verbinding maken met de databaseserver

  3. Kan niet inloggen op mysql 5.7.9 na wijziging wachtwoord

  4. Een label gebruiken in een hebbende clausule in sqlachemy