Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Przenoszenie kolumn tekstowych szerokości/długości geograficznej do kolumny typu „punkt”

Zakładając, że chcesz SPATIAL indeks w tej kolumnie:

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

Jeśli nie, możesz pominąć dwa ostatnie kroki.

Aktualizacja:

We wcześniejszych wersjach MySQL , musisz wypełnić Point kolumny przy użyciu WKT :

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wyszukiwanie pełnotekstowe MySQL z częściowymi słowami

  2. Wyniki MySQL jako lista oddzielona przecinkami

  3. Jak sprawdzić, czy indeks mysql mieści się w całości w pamięci?

  4. Jak dodać AUTO_INCREMENT do istniejącej kolumny?

  5. jak wydrukować rekord z bazy danych, gdy użytkownik wybiera opcje z menu rozwijanego? program dynamiczny