sql >> データベース >  >> RDS >> Mysql

lat/lonテキスト列を「ポイント」タイプの列に移動する

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

    そうでない場合は、最後の2つの手順を省略できます。

    更新:

    以前のバージョンのMySQLPointにデータを入力する必要があります WKTを使用する列 :

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


    1. OracleからPostgreSQLへの移行-知っておくべきこと

    2. MySQLの低速クエリログを有効にするにはどうすればよいですか?

    3. 2020MVPサミットに関する専門家の見解にアクセスする

    4. MySQL/MariaDBでデータベースを削除する方法