【发布时间】:2020-05-09 13:07:01
【问题描述】:
使用 phpMyadmin
我已经导出了一个数据库,其中有一个带有空间多线字符串字段的表。此表中的某些记录在此字段中有一个空条目。
尝试导入时,表导入失败并显示此消息。
1416 - 无法从您发送到 GEOMETRY 字段的数据中获取几何对象
对于不需要此字段的记录,我需要用什么替换空值?
【问题讨论】:
标签: mysql phpmyadmin spatial
使用 phpMyadmin
我已经导出了一个数据库,其中有一个带有空间多线字符串字段的表。此表中的某些记录在此字段中有一个空条目。
尝试导入时,表导入失败并显示此消息。
对于不需要此字段的记录,我需要用什么替换空值?
【问题讨论】:
标签: mysql phpmyadmin spatial
我终于解决了这个问题,所以发回来以防其他人遇到这个问题。
这与我最初认为的空条目无关。在 phpMyAdmin 中,插入脚本将插入批处理。如果您选择“在每个 INSERT 语句中包含列名”选项,则每条记录都会有自己的插入语句。
然后当你导入时,它会告诉你哪条记录失败了。它没有在空条目上失败。
然后我像这样对失败的记录运行查询以查看多线串中的点
SELECT ST_ASTEXT(Polylines) FROM myTable WHERE id = 100
这向我表明,其中一条折线中只有 1 个点。这就是问题所在。将只有 1 个点的折线导入 MySQL 失败 - 这是有道理的(但它确实允许首先插入记录)。就我而言,我将单点折线设置为 null 以解决此问题。
我正在从相同版本的 mySQL 导出和导入:5.7.26
【讨论】: