En sträng i MySQL har en teckenuppsättning och en sortering . Utf8 är en teckenuppsättning och utf8_bin är en av dess sammanställningar. Sammanställningen avgör hur MySQL jämför strängar.
Här är till exempel två sätt att jämföra en UTF8-sträng:
select case when 'test' = 'TEST' collate utf8_bin
then 'true' else 'false' end,
case when 'test' = 'TEST' collate utf8_roman_ci
then 'true' else 'false' end
Den första använder utf8_bin-kollationen, som är skiftlägeskänslig. Den andra använder utf8_roman_ci, som är skiftlägesokänslig.
En lista över alla teckenuppsättningar och sorteringar kan hittas med:
show character set
show collation
latin1_swedish_ci
är standardsorteringen (MySQL utvecklades ursprungligen i Sverige), detta gäller även för MariaDB.