mysqldump无法从发送到已添加的几何字段--hex-blob

时间:2019-11-08 21:49:41

标签: mysql blob

我正在尝试执行mysql转储,这是我正在使用的命令:

mysqldump --hex-blob -u user -p database > dump.sql

有人告诉我应该解决二进制point字段的问题,当我使用mysql database < dump.sql导入时如何仍然得到此错误

  

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

现在不确定该怎么做

我正在从版本5.6.45导出到5.7.27

但是,导入看起来不错,并且包含所有记录,当我选择几何数据时,它看起来像是二进制数据,可以吗?

//找到45,000条记录

select * from listingsaws where ST_IsEmpty(`location`) IS NULL;

//更新了0条记录

UPDATE listingsaws SET `location` = NULL WHERE ST_IsEmpty(`location`) IS NULL; 

//找到45,000条记录

select * from listingsaws where asText(`location`) IS NULL;

//更新了0条记录

UPDATE listingsaws SET `location` = NULL WHERE asText(`location`) IS NULL;

1 个答案:

答案 0 :(得分:0)

对于GEOMETRY类型字段,显然5.7比5.6更严格。

首先要尝试的最简单的方法是确保将任何空的几何字段都正确设置为NULL,您可以使用以下方法进行操作:

toISOString()

否则,您可以查看以下问题,进一步探讨此类问题:

https://dba.stackexchange.com/questions/170787/cannot-get-geometry-object-from-data-you-send-to-the-geometry-field

Cannot Restore Geometry Backup MySQL 5.7 Error

Back up a table with a GEOMETRY column using mysqldump?