【问题标题】:Error when trying to load coordinates from .txt file into MySQL尝试将 .txt 文件中的坐标加载到 MySQL 时出错
【发布时间】:2016-11-25 01:10:44
【问题描述】:

我正在尝试将文本文件中的数据加载到我的数据库中,但数据库中的一列是 Point(lat,lng) 类型。

.txt 文件中的行示例:

1    3    exampleString1    POINT(34.123456, 45.678909)   default    NULL    strg2

MySQL 查询:

LOAD DATA LOCAL INFILE '/location/file.txt' INTO TABLE ExampleTable;

MySQL 工作台错误: 错误代码:1416。无法从您发送到 GEOMETRY 字段 0.003 秒的数据中获取几何对象

【问题讨论】:

标签: mysql sql database mysql-workbench


【解决方案1】:

试试:

文件:

1;3;"example String1";POINT(34.123456, 45.678909);strg2

MySQL 命令行:

mysql> DROP TABLE IF EXISTS `ExampleTable`;
Query OK, 0 rows affected (0.00 sec)

mysql> CREATE TABLE IF NOT EXISTS `ExampleTable` (
    ->   `column0` INT UNSIGNED NOT NULL,
    ->   `column1` INT UNSIGNED NOT NULL,
    ->   `column2` VARCHAR(255) NOT NULL,
    ->   `column3` GEOMETRY NOT NULL,
    ->   `column4` VARCHAR(255) NOT NULL
    -> ) ENGINE=InnoDB;
Query OK, 0 rows affected (0.00 sec)

mysql> LOAD DATA LOCAL INFILE '/location/file.txt'
    ->   INTO TABLE `ExampleTable`
    ->   FIELDS TERMINATED BY ';' ENCLOSED BY '"'
    ->   LINES TERMINATED BY '\r'
    ->   (`column0`, `column1`, `column2`, @`column3`, `column4`)
    ->   SET `column3` := ST_GeomFromText(REPLACE(@`column3`, ',', ''));
Query OK, 1 row affected (0.00 sec)
Records: 1  Deleted: 0  Skipped: 0  Warnings: 0

mysql> SELECT
    ->   `column0`,
    ->   `column1`,
    ->   `column2`,
    ->   ST_AsText(`column3`) `column3`,
    ->   `column4`
    -> FROM
    ->   `ExampleTable`\G
*************************** 1. row ***************************
column0: 1
column1: 3
column2: example String1
column3: POINT(34.123456 45.678909)
column4: strg2

1 row in set (0.00 sec)

【讨论】:

    【解决方案2】:

    您正在尝试将字符串分配给几何图形。

    在您的表格上创建一个文本字段geom_txt,以便您可以保存'POINT(34.123456, 45.678909)'

    然后加载文件后

     UPDATE ExampleTable
     SET geometryField = ST_GeomFromText(geom_txt);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-06
      • 2018-01-06
      • 1970-01-01
      • 2020-10-13
      • 2013-02-19
      • 1970-01-01
      相关资源
      最近更新 更多