Det er bedre at bruge utf8_bin
sammenstilling, fordi selvom det ikke er muligt i UTF-8, er det i det generelle tilfælde teoretisk muligt (såsom det sker med UTF-16) for samme streng, der skal repræsenteres af forskellige kodninger, som en binær sammenligning ikke ville forstå, men en binær kollation ville. Som dokumenteret under Unicode-tegnsæt
:
Derfor, hvis sammenligninger, der involverer disse kolonner, altid hvis der skelnes mellem store og små bogstaver, skal du indstille kolonnens sortering til utf8_bin
(så de forbliver store og små, selvom du glemmer at angive andet i din forespørgsel); eller hvis kun bestemte forespørgsler skelner mellem store og små bogstaver, kan du angive, at utf8_bin
sortering skal bruges ved hjælp af COLLATE
søgeord:
SELECT * FROM table WHERE id = 'iSZ6fX' COLLATE utf8_bin