sql >> Databasteknik >  >> RDS >> Mysql

mysql skiftlägeskänslig i utf8_general_ci

Det är bättre att använda utf8_bin sammanställning eftersom, även om det inte är möjligt i UTF-8, i det allmänna fallet är det teoretiskt möjligt (såsom händer med UTF-16) för samma sträng som ska representeras av olika kodningar, som en binär jämförelse inte skulle förstå men en binär sammanställning skulle. Som dokumenterats under Unicode-teckenuppsättningar :

Därför, om jämförelser som involverar dessa kolumner kommer alltid vara skiftlägeskänslig bör du ställa in kolumnens sortering till utf8_bin (så att de förblir skiftlägeskänsliga även om du glömmer att ange något annat i din fråga); eller om bara vissa frågor är skiftlägeskänsliga kan du ange att utf8_bin sortering ska användas med COLLATE nyckelord:

SELECT * FROM table WHERE id = 'iSZ6fX' COLLATE utf8_bin


  1. FIND_IN_SET() vs IN()

  2. Hur man lägger till dagar till ett datum i MySQL

  3. Skillnad mellan att använda REFERENSER med och utan UTLÄNDSK NYCKEL?

  4. DATE() Exempel – MySQL