MySQL экспорт / импорт пустых / нулевых многоканальных строк - PullRequest
0 голосов
/ 23 января 2020

Использование phpMyadmin

Я экспортировал базу данных, в которой есть таблица с пространственным полулистерным полем. Некоторые записи в этой таблице имеют пустую запись в этом поле.

При попытке импорта таблица не может быть импортирована с этим сообщением.

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

Чем мне нужно заменить нулевое значение для записей, где это поле не требуется?

1 Ответ

0 голосов
/ 30 января 2020

Я наконец-то решил это, поэтому отправляю сообщения на случай, если кто-то еще будет с этим бороться

Это не было связано с нулевыми записями, как я сначала подумал. В phpMyAdmin сценарии вставки объединяют вставки. если вы выберете опцию «включать имена столбцов в каждую инструкцию INSERT», каждая запись будет иметь свою собственную инструкцию вставки.

Затем при импорте вам будет показано, какая запись не удалась. Это не сбой на нулевой записи.

Затем я выполнил запрос к ошибочной записи, как эта, чтобы просмотреть точки в мультилинейной строке

SELECT ST_ASTEXT(Polylines) FROM myTable WHERE id = 100

Это показало, что в одной из полилиний была только 1 точка. Это была проблема. Импортировать ломаную линию с 1 точкой в ​​MySQL не удается - это имеет смысл (но она позволила вставить запись в первую очередь). В моем случае для устранения этой проблемы я установил нулевую полилинию в одну точку.

Я экспортировал и импортировал из тех же версий mySQL: 5.7.26

...