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

कोलाज के अवैध मिश्रण को कैसे हल करें (latin1_general_ci,IMPLICIT) त्रुटि

मैंने आधा दिन भयानक "संयोजनों के अवैध मिश्रण" त्रुटि के उत्तर खोजने में बिताया है। मैंने पाया कि मेरे डेटाबेस में कुछ कॉलम विशेष रूप से संकलित नहीं थे utf8_unicode_ci . ऐसा लगता है कि mysql ने इन कॉलमों को परोक्ष रूप से संकलित किया है utf8_general_ci

विशेष रूप से, 'तालिका तालिका 1 बनाएं' क्वेरी चलाने से निम्न की तरह कुछ आउटपुट होता है:

| तालिका 1 | टेबल बनाएं table1 (id int(11) न्यूल नहीं,col1 वर्कर(4) कैरेक्टर सेट utf8 नॉट न्यूल,col2 int(11) न्यूल नहीं, प्राथमिक कुंजी (photo_id ,tag )) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci |

लाइन नोट करें 'col1' varchar(4) CHARACTER SET utf8 NOT NULL निर्दिष्ट एक संयोजन नहीं है। फिर मैंने निम्नलिखित क्वेरी चलाई:

ALTER TABLE table1 col1 col1 VARCHAR(4) CHARACTER SET utf8COLLATE utf8_unicode_ci NOT 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. MySQL सबक्वेरी - MySQL 3.23

  3. लगातार दो पंक्तियों में तिथियों के बीच अंतर

  4. MySQL एंटरप्राइज मॉनिटर के साथ अपने डेटाबेस की निगरानी करना

  5. MySQL में इमोजी खोज रहे हैं