2017-10-26 8 views
1

私は、ジップ、市、州、緯度、経度の列(約40k行)を持つlookupという名前のテーブルを持っています。私がしたいのは、lookup2という名前の新しいテーブルにデータをコピーすることですが、このテーブルに緯度と経度の列を持たせるのではなく、タイプPOINTのpositionという名前の列が1つあります。mysql - POINTカラムにlat/lngでselectに挿入しますか? 40k行

これはもちろん有効ではありませんが、私はここで達成しようとしています何のアイデアを得る必要があります。

INSERT INTO lookup2 (zip, city, state, position) 
SELECT zip, city, state, PointFromText(POINT(longitude latitude)) FROM lookup; 

は、INSERT INTO SELECTため、この可能性のようなものですか?このルックアップテーブルを別のテーブルの新しいフォーマットに変換するにはどうすればよいですか?

答えて

1

CONCATを使用する以外にこれはおそらく別の方法ですが、これは私の魅力のように機能し、新しいテーブルのST_X(位置)とST_Y(位置)を使用して正しいlng/zipごとの緯度の値、または私が使用しているルックアップの値。

INSERT INTO lookup2 (zip, city, state, position) 
SELECT zip, city, state, PointFromText(CONCAT('POINT (', longitude, ' ', latitude, ')')) as position FROM lookup 
関連する問題