Je lepší použít utf8_bin
řazení, protože i když to není možné v UTF-8, v obecném případě je teoreticky možné (jako je tomu u UTF-16) pro stejné řetězec, který má být reprezentován jiným kódování, kterým by binární srovnání nerozumělo, ale binární řazení ano. Jak je zdokumentováno v části Znakové sady Unicode
:
Pokud tedy budou srovnání zahrnující tyto sloupce vždy rozlišujte malá a velká písmena, měli byste nastavit řazení sloupců na utf8_bin
(takže zůstanou rozlišována malá a velká písmena, i když ve svém dotazu zapomenete uvést jinak); nebo pokud pouze určité dotazy rozlišují malá a velká písmena, můžete zadat, že utf8_bin
řazení by mělo být použito pomocí COLLATE
klíčové slovo:
SELECT * FROM table WHERE id = 'iSZ6fX' COLLATE utf8_bin