Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Memindahkan kolom teks lat/lon ke kolom tipe 'titik'

Dengan asumsi Anda menginginkan SPATIAL indeks pada kolom ini:

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

Jika tidak, Anda dapat mengabaikan dua langkah terakhir.

Pembaruan:

Di versi MySQL sebelumnya , Anda perlu mengisi Point kolom menggunakan 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. Integer yang salah (2147483647) dimasukkan ke MySQL?

  2. Hapus baris sql di mana ID tidak memiliki kecocokan dari tabel lain

  3. Java+Tomcat, Koneksi database sekarat?

  4. MySQL dump berdasarkan kueri

  5. Bagaimana cara membunuh semua proses di daftar proses acara Mysql?