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

MySQL में एक्सेंट सेंस्टिव प्राइमरी की का इस्तेमाल करें

संयोजन . आपके पास दो विकल्प हैं, तीन नहीं:

utf8_bin इन सभी को भिन्न . के रूप में मानता है :demandé और demandé और Demandé

utf8_..._ci (आमतौर पर utf8_general_ci या utf8_unicode_ci ) इन सभी को समान . के रूप में मानता है :demandé और demandé और Demandé

यदि आप केवल केस संवेदनशीलता चाहते हैं (demandé =demandé , लेकिन दोनों में से कोई भी Demandé . से मेल नहीं खाता ), आप भाग्य से बाहर हैं।

यदि आप केवल उच्चारण संवेदनशीलता चाहते हैं (demandé =Demandé , लेकिन न तो मेल खाते हैं demandé ), आप भाग्य से बाहर हैं।

घोषणा . आप जो कुछ भी चुनते हैं उसे करने का सबसे अच्छा तरीका:

CREATE TABLE (
    name VARCHAR(...)  CHARACTER SET utf8  COLLATE utf8_...  NOT NULL,
    ...
    PRIMARY KEY(name)
)

फ्लाई पर कॉलेशन न बदलें . यह इंडेक्स का उपयोग नहीं करेगा (अर्थात, धीमा होगा) यदि कोलेशन name में भिन्न है :

WHERE name = ... COLLATE ...

बाइनरी . डेटाटाइप BINARY , VARBINARY और BLOB बहुत पसंद हैं CHAR , VARCHAR , और TEXT COLLATE ..._bin . के साथ . शायद अंतर केवल इतना है कि टेक्स्ट को VARCHAR ... COLLATE ..._bin में वैध utf8 स्टोर करने के लिए चेक किया जाएगा। , लेकिन VARBINARY... . में संग्रहीत करते समय इसकी जांच नहीं की जाएगी . तुलना (WHERE , ORDER BY , आदि) वही होगा; यानी, बस बिट्स की तुलना करें, केस फोल्डिंग या एक्सेंट स्ट्रिपिंग आदि न करें।



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

  2. WHERE क्लॉज में mysql concat () का उपयोग करना?

  3. सीएमएस के लिए कस्टम एचटीएमएल टैग बनाना?

  4. कुंजी कीवर्ड का क्या अर्थ है?

  5. त्रुटि 1215. MySql InnoDB