Ein String in MySQL hat einen Zeichensatz und eine Sortierung . Utf8 ist ein Zeichensatz und utf8_bin ist eine seiner Sortierungen. Die Sortierung bestimmt, wie MySQL Strings vergleicht.
Hier sind zum Beispiel zwei Möglichkeiten, einen UTF8-String zu vergleichen:
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
Die erste verwendet die Kollatierung utf8_bin, bei der zwischen Groß- und Kleinschreibung unterschieden wird. Die zweite verwendet utf8_roman_ci, wobei die Groß- und Kleinschreibung nicht beachtet wird.
Eine Liste aller Zeichensätze und Sortierungen finden Sie mit:
show character set
show collation
latin1_swedish_ci
die Standardsortierung ist (MySQL wurde ursprünglich in Schweden entwickelt), dies gilt auch für MariaDB.