utf8_bin
का उपयोग करना बेहतर है संयोजन क्योंकि, भले ही यह UTF-8 में संभव नहीं है, सामान्य स्थिति में यह सैद्धांतिक रूप से संभव है (जैसे UTF-16 के साथ होता है) उसी के लिए भिन्न . द्वारा प्रदर्शित की जाने वाली स्ट्रिंग एन्कोडिंग, जिसे एक बाइनरी तुलना समझ नहीं पाएगी लेकिन एक बाइनरी कॉलेशन होगा। जैसा कि यूनिकोड कैरेक्टर सेट
के अंतर्गत प्रलेखित है :
इसलिए, यदि इन स्तंभों की तुलना हमेशा होगी तो केस-संवेदी बनें, आपको कॉलम के संयोजन को utf8_bin
. पर सेट करना चाहिए (ताकि वे केस संवेदनशील बने रहें, भले ही आप अपनी क्वेरी में अन्यथा निर्दिष्ट करना भूल जाएं); या यदि केवल विशेष क्वेरी केस-संवेदी हैं, तो आप निर्दिष्ट कर सकते हैं कि utf8_bin
कोलेशन का उपयोग COLLATE
. का उपयोग करके किया जाना चाहिए कीवर्ड:
SELECT * FROM table WHERE id = 'iSZ6fX' COLLATE utf8_bin