Mysql
 sql >> база данни >  >> RDS >> Mysql

Преместване на текстови колони за ширина/дължина в колона от тип „точка“.

Ако приемем, че искате SPATIAL индекс на тази колона:

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

Ако не го направите, можете да пропуснете последните две стъпки.

Актуализация:

В по-ранни версии на MySQL , ще трябва да попълните Point колони с помощта на 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. Защо може да има само една колона TIMESTAMP с CURRENT_TIMESTAMP в клаузата DEFAULT?

  2. Вземете резултати от mysql въз основа на географска ширина и дължина

  3. PHP отнема 90 пъти повече време за изпълнение на заявка от MySQL клиента

  4. Mysqli подготвеният израз num_rows връща 0, докато заявката връща по-голямо от 0

  5. Функция MySQL DEGREES() – Преобразуване от радиани в градуси