Det ligner MySQL 5.7
er mere streng i geometrityper end MySQL 5.6
. Som sådan data, der var gyldige i 5.6 er nu ugyldig i 5.7 .
Dette var rettelsen til MySQL-fejl #76337 , i udgivelse MySQL 5.7.8 .
I dette tilfælde en LINESTRING
blev gemt i en kolonne af typen POINT
. Dette virkede i næsten et årti, men ikke mere. Ændring af kolonnen til at skrive LINESTRING
rettet ovenstående indlæsningsfejl.
-- The Fix - run on MySQL 5.6 database before Upgrade/Export
ALTER TABLE routes MODIFY COLUMN route_path LINESTRING;
Andre fejltilstande
Denne fejl manifesterer sig også på geometriske kolonner, hvor de var i stand til at fortsætte NULL-geometrier (men ikke officielt er NULL). MySQL IS NULL
ville sige ikke null, men asText( myGeo )
returnerede NULL
under MySQL 5.7 . Eksport af disse til en streng i MySQL 5.6 returnerede ''
, tom streng. Således ''
geometri output fra 5.6 var og ugyldig input for 5.7.
Rettelsen var at annullere disse.
-- Convert NULL geometries to actual NULL's
UPDATE myTable SET myGeo = NULL WHERE asText(myGeo) IS NULL;