mysql - 使用lat / lng到POINT列插入select? 40k行

时间:2017-10-26 02:01:13

标签: mysql

我有一个名为lookup的表,其中包含zip,city,state,latitude,longitude列(约40k行)。我想要做的是将数据复制到名为lookup2的新表中,而不是在此表中包含纬度和经度列我有一个名为position的POINT类型的列。

这当然无效,但你应该知道我想在这里实现的目标:

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

INSERT INTO SELECT是否可以这样?我怎样才能转换'这个查找表转换成另一个表上的新格式?

1 个答案:

答案 0 :(得分:1)

想出来 - 除了使用CONCAT之外,还有另一种方法可以做到这一点,但这对我来说就像一个魅力,在新表上使用ST_X(位置)和ST_Y(位置)返回正确的lng / lat每个zip的值或我正在使用的任何查找。

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