sql >> Databasteknik >  >> RDS >> Mysql

Finns det en utf8_unicode_cs-kollation?

Jag stötte på samma problem och efter lite googling verkar det som att MySQL inte inkluderar det. Att "simulera det", som du uttrycker det,

1) För att säkerställa skiftlägeskänslighet i databasen:ställ in tabellkolumnen till utf8_bin sammanställning
Detta tillåter:

  • strikt SELECT:SELECT "Joe" returnerar INTE rader med "joe" / "joE" / "jOe" / etc
  • strikt UNIKT index:en kolumn med ett UNIKT index kommer att behandla skillnader i skiftläge som olika värden. Till exempel, om en utf8_unicode_ci-kollation används, kommer att infoga "Joe" på en tabell som redan har "joe" att utlösa ett "Duplicate key"-fel. Om ut8_bin används fungerar det bra att infoga "Joe".

2) För att få rätt ordning i resultaten:lägg till sorteringen i SQL-frågan:

SELECT ... ORDER BY column COLLATE utf8_unicode_ci


  1. ladda ner värden för sql-tabellen för offlineåteranvändning

  2. Mysql Union time V.S. separat fråga en efter en

  3. MySQL:Välj unikt värde i kolumn baserat på ett annat kolumnvärde

  4. Konvertera helt enkelt från mysql till mysqli