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

mysql utf8mb4_unicode_ci अद्वितीय कुंजी टकराव का कारण बनता है

आपको CHARACTER SET . के बारे में बात याद आ रही है और COLLATION . एक CHARACTER SET विभिन्न पात्रों का संग्रह है। एक COLLATION कहता है कि क्या पात्रों के साथ समान व्यवहार करना है -- सोचें A और a -- भिन्न वर्ण, लेकिन ORDER BY . के लिए व्यवहार किया जाता है और WHERE = , आदि समान होने के नाते।

mysql> SELECT 'K'='K' COLLATE utf8_unicode_ci;
+-----------------------------------+
| 'K'='K' COLLATE utf8_unicode_ci  |
+-----------------------------------+
|                                 1 |
+-----------------------------------+

तो utf8_unicode_ci (या utf8mb4_unicode_ci) में, उन दो वर्णों को "बराबर" माना जाता है।

"समान" UNIQUE . के लिए परीक्षण है कुंजियाँ।

COLLATION सेट करें कॉलम के लिए जो कुछ भी आपके लिए समझ में आता है।

  • utf8mb4_unicode_ci अच्छे 'वास्तविक जीवन' तुलना के लिए, जाहिरा तौर पर यह एक सहित। के=के=Ķ=ķ
  • utf8mb4_unicode_ci अधिक सरल दिमाग की तुलना के लिए। विशेष रूप से कोई 2-वर्ण संयोजन 1-वर्ण एन्कोडिंग से मेल नहीं खाता। केस फोल्डिंग और एक्सेंट स्ट्रिपिंग होती है। के=के=Ķ=ķ
  • utf8mb4_bin आँख बंद करके बिट्स की जाँच करता है। कोई केस फोल्डिंग नहीं, आदि। K k सभी असमान हैं।

utf8mb4_latvian_ci थोड़ा अलग है:K=k लेकिन Ķ=ķ के बराबर नहीं। अन्य भाषाओं (ज्यादातर पश्चिमी यूरोपीय) के लिए अन्य विशेष संयोजन हैं।

आपका इसे "फुलविड्थ लैटिन कैपिटल लेटर K" कहा जाता है, इसलिए यह काफी उचित है कि इसकी तुलना लैटिन K के बराबर की जाए। ।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. डॉकर-कंपोज़ का उपयोग करते समय मेरा .NET वेब एपीआई एप्लिकेशन डॉकर पर MySQL से कनेक्ट क्यों नहीं होता है?

  2. मेरा MySQLi कनेक्शन इतना धीमा क्यों है?

  3. कोडनिर्देशक की माइग्रेशन लाइब्रेरी में ट्रिगर कैसे बनाएं?

  4. Mysql:तालिका बनाते समय DATETIME के ​​प्रारूप को 'DD-MM-YYYY HH:MM:SS' पर सेट करें

  5. 2 फ़ील्ड संयोजन द्वारा समूहित करें और फिर प्रत्येक समूह, एकाधिक एनोटेशन django . के योग द्वारा क्रमित करें