mysqldump Не удается получить объект геометрии из данных, которые вы отправляете в уже добавленное поле GEOMETRY --hex-blob - PullRequest
0 голосов
/ 09 ноября 2019

Я пытаюсь сделать дамп MySQL и вот команда, которую я использую:

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

Мне сказали, что это должно разрешить двоичное поле point, как я по-прежнему получаю эту ошибку при импортеиспользование mysql database < dump.sql

Невозможно получить геометрический объект из данных, отправленных в поле GEOMETRY

Не уверен, что делать в этой точке

I 'm экспорт из версии 5.6.45 в 5.7.27

Однако импорт выглядит хорошо и содержит все записи, а когда я выбираю данные геометрии, он выглядит как двоичные данные, я в порядке?

// найдено 45K записей

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

// обновлено 0 записей

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

// найдено 45K записей

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

// обновлено 0 записей

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

1 Ответ

0 голосов
/ 09 ноября 2019

Очевидно, что 5.7 является более строгим, чем 5.6 с полями типа GEOMETRY.

Сначала проще всего попробовать убедиться, что для любых пустых полей геометрии правильно задано значение NULL, что можно сделать с помощью:

UPDATE myTable 
SET myGeo = NULL 
WHERE ST_IsEmpty(myGeo) IS NULL; 

В противном случае вы можете взглянуть на эти вопросы, которые углубляются в проблему такого рода:

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

Невозможно восстановить геометрию Резервная копия MySQL 5.7 Ошибка

Резервное копирование таблицы со столбцом GEOMETRY с использованием mysqldump?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...