Wygląda jak MySQL 5.7 jest bardziej rygorystyczny w typach geometrii niż MySQL 5.6 . W związku z tym dane, które były prawidłowe w 5.6 jest teraz nieprawidłowy w 5.7 .
To była poprawka Błąd MySQL #76337 , w wydaniu MySQL 5.7.8 .
W tym przypadku LINESTRING był przechowywany w kolumnie typu POINT . Działało to przez prawie dekadę, ale nie więcej. Zmiana kolumny na LINESTRING naprawiono powyższy błąd ładowania.
-- The Fix - run on MySQL 5.6 database before Upgrade/Export
ALTER TABLE routes MODIFY COLUMN route_path LINESTRING;
Inne tryby awarii
Ten błąd pojawia się również w kolumnach geometrycznych, w których były w stanie zachować geometrie NULL (ale oficjalnie nie są NULL). MySQL IS NULL powie nie null, ale asText( myGeo ) zwrócono NULL pod MySQL 5.7 . Wyeksportowanie ich do ciągu w MySQL 5.6 zwróciło '' , pusta struna. Zatem '' dane wyjściowe geometrii z 5.6 były i nieprawidłowe dane wejściowe dla 5.7.
Rozwiązaniem było ich zerowanie.
-- Convert NULL geometries to actual NULL's
UPDATE myTable SET myGeo = NULL WHERE asText(myGeo) IS NULL;