可变内部地理位置字符串sql

时间:2017-05-19 14:07:14

标签: mysql sql csv

我正在尝试在mysql数据库中制作一些地理位置。我已经使用了一个简单的插入语句,如下所示。

INSERT INTO location 
VALUES ("London", ST_GeometryFromText('Point(10.0000 10.0000)'));

我的问题是当我要插入所有城市时。我从一个拥有100.000多个城市的tsv文件中插入。但是当我不想创建地理点并且无法插入值时,因为'point()'需要在它周围加上引号并且它被视为字符串。 @ col5和6有lat和lng,我已经测试过了。如何在点对象/('string')

中插入@ col5 @ col6中的值
LOAD DATA LOCAL INFILE 'cities.txt'
INTO TABLE location
FIELDS TERMINATED BY '\t'
ENCLOSED BY ''
LINES TERMINATED BY '\n'
(@col1, @col2, @col3, @col4, @col5, @col6) 
SET city_name=@col2, geom=ST_GeometryFromText('point(@col5 @col6)');

1 个答案:

答案 0 :(得分:0)

只需使用concat,如下所示:

SET city_name=@col2, geom=ST_GeometryFromText(CONCAT('point(', @col5,  @col6, ')'));