Es sieht aus wie MySQL 5.7
ist strenger in Geometry-Typen als MySQL 5.6
. Als solche Daten, die gültig waren in 5.6 ist jetzt in 5.7 ungültig .
Dies war die Lösung für MySQL-Fehler #76337 , in der Version MySQL 5.7.8 .
In diesem Fall ein LINESTRING
wurde in einer Spalte vom Typ POINT
gespeichert . Das funktionierte fast ein Jahrzehnt lang, aber nicht mehr. Ändern der Spalte zum Typ LINESTRING
obiger Ladefehler behoben.
-- The Fix - run on MySQL 5.6 database before Upgrade/Export
ALTER TABLE routes MODIFY COLUMN route_path LINESTRING;
Andere Fehlermodi
Dieser Fehler manifestiert sich auch bei geometrischen Spalten, wo sie NULL-Geometrien beibehalten konnten (aber nicht offiziell NULL waren). MySQL IS NULL
würde nicht null sagen, sondern asText( myGeo )
gab NULL
zurück unter MySQL 5.7 . Das Exportieren dieser in eine Zeichenfolge in MySQL 5.6 gab ''
zurück , leerer String. Also der ''
Geometrieausgabe von 5.6 war und ungültige Eingabe für 5.7.
Die Lösung bestand darin, diese auf Null zu setzen.
-- Convert NULL geometries to actual NULL's
UPDATE myTable SET myGeo = NULL WHERE asText(myGeo) IS NULL;