我正在尝试在 mysql 数据库中进行一些地理定位。我已经使用一个简单的插入语句(如下所示)来实现它。
INSERT INTO location
VALUES ("London", ST_GeometryFromText('Point(10.0000 10.0000)'));
我的问题是当我想插入所有城市时。我正在从包含 100.000 多个城市的 tsv 文件插入。但是,当我不想创建地理点并且无法插入值时,因为“point()”需要在其周围加上引号,并且它被视为字符串。 @col5 和 6 有纬度和经度,我已经测试过了。我如何将 @col5 @col6 中的值插入点对象/('string')
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)');
最佳答案
只需使用 concat 即可:
SET city_name=@col2, geom=ST_GeometryFromText(CONCAT('point(', @col5, @col6, ')'));
关于mysql - 地理位置字符串sql中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44072183/