mysql - MySQL 导出/导入空/空多行字符串
问题描述
使用 phpMyadmin
我已经导出了一个数据库,其中有一个带有空间多线字符串字段的表。此表中的某些记录在此字段中有一个空条目。
尝试导入时,表无法导入并显示此消息。
1416 - 无法从您发送到 GEOMETRY 字段的数据中获取几何对象
对于不需要此字段的记录,我需要用什么替换空值?
解决方案
我终于解决了这个问题,所以发回来以防其他人为此而苦苦挣扎。
正如我最初认为的那样,这与空条目无关。在 phpMyAdmin 中,插入脚本将插入批处理。如果您选择“在每个 INSERT 语句中包含列名”选项,则每条记录都有自己的插入语句。
然后当你导入时,它会告诉你哪条记录失败了。它没有在空条目上失败。
然后我像这样对失败的记录运行查询以查看多线串中的点
SELECT ST_ASTEXT(Polylines) FROM myTable WHERE id = 100
这向我表明,其中一条折线中只有 1 个点。这就是问题所在。将只有 1 个点的折线导入 MySQL 失败 - 这是有道理的(但它确实允许首先插入记录)。就我而言,我将单点折线设置为 null 以解决此问题。
我正在从相同版本的 mySQL 导出和导入:5.7.26
推荐阅读
- c# - Unity 中的计时器增量不正确
- python - 加载 Spark Dataframe 时无效的 \x Escape
- python - 正则表达式新手问题:从一行中获取多个单词/句子,最大分隔为 1 个空格?
- java - Derby 在 Blob 列的较小块中解析图像十六进制
- node.js - 100% cpu 使用配置文件输出,根据我们的配置文件日志,这可能是什么原因造成的?
- node.js - 构建 Node Js 服务器以通过 Internet 接收来自多个客户端 {Raspberry Pi's} 的实时视频流
- laravel - Laravel 不在移动设备上加载引导程序
- ios - 尽管 fastlane beta 表示构建已上传到 Crashlytics,但没有在 Fabric 中创建新应用
- xlsxwriter - Excel 不会保存使用 xlsxwriter 创建的文件
- android - 没有互联网时firebase如何在数据库中存储变量并稍后传递这些变量