sql >> Database >  >> RDS >> Mysql

Bestaat er een utf8_unicode_cs-sortering?

Ik kwam hetzelfde probleem tegen en na wat Googlen lijkt het erop dat MySQL het niet bevat. Om het te "simuleren", zoals jij het zegt,

1) Om hoofdlettergevoeligheid in de DB te garanderen:stel de tabelkolom in op utf8_bin sortering
Dit maakt het volgende mogelijk:

  • strikte SELECTS:SELECT "Joe" zal GEEN rijen retourneren met "joe" / "joE" / "jOe" / etc
  • strikte UNIEKE index:een kolom met een UNIEKE index behandelt verschillen in hoofdletters als verschillende waarden. Als bijvoorbeeld een utf8_unicode_ci-sortering wordt gebruikt, zal het invoegen van "Joe" in een tabel die al "joe" heeft een "Duplicate key"-fout veroorzaken. Als ut8_bin wordt gebruikt, zal het invoegen van "Joe" prima werken.

2) Om de juiste volgorde in resultaten te krijgen:voeg de sortering toe aan de SQL-query:

SELECT ... ORDER BY column COLLATE utf8_unicode_ci


  1. Update meerdere kolommen in MERGE-instructie ORACLE

  2. SQL NOT-operator voor beginners

  3. Hoe DELETE ON CASCADE te gebruiken voor een veel-op-een relatie

  4. relationele algebra