首页 > 解决方案 > MySQL 导出/导入空/空多行字符串

问题描述

使用 phpMyadmin

我已经导出了一个数据库,其中有一个带有空间多线字符串字段的表。此表中的某些记录在此字段中有一个空条目。

尝试导入时,表无法导入并显示此消息。

1416 - 无法从您发送到 GEOMETRY 字段的数据中获取几何对象

对于不需要此字段的记录,我需要用什么替换空值?

标签: mysqlphpmyadminspatial

解决方案


我终于解决了这个问题,所以发回来以防其他人为此而苦苦挣扎。

正如我最初认为的那样,这与空条目无关。在 phpMyAdmin 中,插入脚本将插入批处理。如果您选择“在每个 INSERT 语句中包含列名”选项,则每条记录都有自己的插入语句。

然后当你导入时,它会告诉你哪条记录失败了。它没有在空条目上失败。

然后我像这样对失败的记录运行查询以查看多线串中的点

SELECT ST_ASTEXT(Polylines) FROM myTable WHERE id = 100

这向我表明,其中一条折线中只有 1 个点。这就是问题所在。将只有 1 个点的折线导入 MySQL 失败 - 这是有道理的(但它确实允许首先插入记录)。就我而言,我将单点折线设置为 null 以解决此问题。

我正在从相同版本的 mySQL 导出和导入:5.7.26


推荐阅读