我有一个名为 lookup
的表,其中包含 zip、city、state、latitude、longitude 列(大约 40k 行)。我想要做的是将数据复制到一个名为 lookup2
的新表中,但是在这个表中没有纬度和经度列,我有一个名为 position
的列要点。
这当然是无效的,但你应该明白我在这里想要实现的目标:
INSERT INTO lookup2 (zip, city, state, position)
SELECT zip, city, state, PointFromText(POINT(longitude latitude)) FROM lookup;
对于 INSERT INTO SELECT 来说,这样的事情可能吗?我怎样才能将这个查找表“转换”为另一个表的新格式?
最佳答案
想通了 - 除了使用 CONCAT 之外,可能还有另一种方法可以做到这一点,但这对我来说很有用,并且在新表上使用 ST_X(position) 和 ST_Y(position) 会返回正确的 lng/lat每个 zip 的值或我正在使用的任何查找。
INSERT INTO lookup2 (zip, city, state, position)
SELECT zip, city, state, PointFromText(CONCAT('POINT (', longitude, ' ', latitude, ')')) as position FROM lookup
关于mysql - 插入到 lat/lng 到 POINT 列的选择中? 40k 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46944697/