gpt4 book ai didi

mysql - 使用 mysqldump 备份带有 GEOMETRY 列的表?

转载 作者:可可西里 更新时间:2023-11-01 07:27:54 24 4
gpt4 key购买 nike

我最近创建了一个包含 GEOMETRY 类型列的 MySQL 表。

当我使用 mysqldump 备份表时,它将我的几何列输出为带引号的字符串,其中包含一些转义字符,如\0,以及一些看起来像 ASCII 范围内的原始二进制字节的字符。

当我尝试将转储恢复到另一个数据库时失败并出现错误:

“无法从您发送到 Geometry 字段的数据中获取 GEOMETRY 对象”。

我尝试将 --hex-blob 添加到我的命令行,但这不会改变输出或解决问题。

我敢肯定有人没有在 MySQL 中创建数据类型而忘记包含备份它的方法。我错过了什么?

谢谢。

最佳答案

在我的例子中,这个错误特别出现在非空几何列中的几何值。

在我的例子中,空几何是未知几何的合法情况,所以我通过更改列以允许空值,然后运行 ​​UPDATE ... SET geom = NULL WHERE IsEmpty(geom); 来解决这个问题

在此之后,我能够重新运行 mysqldump 并成功将生成的 sql 导入到一个单独的数据库中。

(老实说,我不确定空几何值最初是如何到达那里的——我什至不知道创建空几何值的语法)

关于mysql - 使用 mysqldump 备份带有 GEOMETRY 列的表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17480559/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com