Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

ज्यामिति बैकअप को पुनर्स्थापित नहीं कर सकता MySQL 5.7 त्रुटि

ऐसा लगता है MySQL 5.7 MySQL 5.6 . की तुलना में ज्यामिति प्रकारों में अधिक सख्त है . जैसे, डेटा जो वैध था 5.6 में अब 5.7 में अमान्य . है ।

यह MySQL Bug #76337 का समाधान था। , रिलीज में MySQL 5.7.8

इस मामले में, एक LINESTRING POINT . प्रकार के कॉलम में संग्रहीत किया जा रहा था . इसने लगभग एक दशक तक काम किया, लेकिन अब और नहीं। LINESTRING . टाइप करने के लिए कॉलम बदलना उपरोक्त लोडिंग त्रुटि को ठीक किया।

-- The Fix - run on MySQL 5.6 database before Upgrade/Export
ALTER TABLE routes MODIFY COLUMN route_path LINESTRING;

अन्य विफलता मोड

यह बग ज्यामितीय स्तंभों पर भी प्रकट होता है जहां वे NULL ज्यामिति को बनाए रखने में सक्षम थे (लेकिन आधिकारिक तौर पर NULL नहीं)। MySQL IS NULL शून्य नहीं कहेंगे, लेकिन asText( myGeo ) लौटा NULL MySQL 5.7 . के अंतर्गत . इन्हें MySQL 5.6 में एक स्ट्रिंग में निर्यात करना '' . लौटा , खाली स्ट्रिंग। इस प्रकार '' 5.6 से ज्यामिति आउटपुट था और 5.7 के लिए अमान्य इनपुट।

इन्हें समाप्त करने के लिए सुधार किया गया था।

-- Convert NULL geometries to actual NULL's
UPDATE myTable SET myGeo = NULL WHERE asText(myGeo) IS NULL;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. प्रारूप दिनांक बदल रहा है MySql

  2. (My) SQL इंजेक्शन को रोकने के लिए किन पात्रों से बचना होगा?

  3. Php . में किसी तालिका में एकाधिक मान कैसे सम्मिलित करें

  4. इस SQL ​​​​कोड में क्या गलत है? (वीबीए एमएस एक्सेस)

  5. स्प्रिंग बूट + स्प्रिंग डेटा जेपीए क्वेरी java.util.Date प्रकार से केवल महीने का उपयोग कर