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

यूटीएफ -8 में MySQL कैसे काम करता है केस असंवेदनशील और उच्चारण असंवेदनशील

आपने अपनी खोज और क्रम के लिए पहले से ही एक उच्चारण-असंवेदनशील संयोजन का उपयोग करने का प्रयास किया है।

http://dev.mysql.com/doc /refman/5.0/hi/charset-collation-implementations.html

बात यह है, आपका NAME कॉलम लैटिन 1 (8-बिट) वर्ण सेट में संग्रहीत प्रतीत होता है। इसलिए mySQL आप पर इस तरह बड़बड़ा रहा है:

  COLLATION 'utf8_general_ci' is not valid for CHARACTER SET 'latin1'

अगर आप कोशिश करें तो आपको मनचाहा परिणाम मिल सकता है

 WHERE CONVERT(p.NAME USING utf8) LIKE _utf8 '%jose%' COLLATE utf8_general_ci;

लेकिन, सावधान!

जब आप WHERE स्टेटमेंट में कॉलम पर किसी भी प्रकार के फ़ंक्शन (इस उदाहरण में, CONVERT) का उपयोग करते हैं, तो आप इंडेक्स के साथ अपनी खोज को अनुकूलित करने के MySQL के प्रयासों को हरा देते हैं। यदि यह प्रोजेक्ट बड़ा होने जा रहा है (अर्थात, यदि आपकी टेबल में बहुत सारी पंक्तियाँ होंगी) तो आपको अपना डेटा utf8 प्रारूप में संग्रहीत करने की आवश्यकता है, न कि लैटिन 1 में। (आप शायद पहले से ही जानते हैं कि आपका LIKE '%whatever%' खोज शब्द MySQL की अनुक्रमणिका को भी हरा देता है।)



  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. कनेक्शन पूल का उपयोग करने के बाद भी कई समवर्ती कनेक्शन कैसे संभालें?

  3. MySQL वाइल्ड कार्ड से बचना

  4. कैसे mysql में एक समूह के अनुसार ऑटो वेतन वृद्धि आईडी जोड़ने के लिए?

  5. जब मैं एक MySQL तालिका में एकाधिक पंक्तियों को सम्मिलित करता हूं, तो क्या आईडी हर बार 1 से बढ़ जाएगी?