Vergleiche unterscheiden nicht zwischen Groß- und Kleinschreibung, wenn die Spalte eine Kollatierung verwendet, die mit endet _ci
(z. B. die Standardkollatierung latin1_general_ci
), und sie unterscheiden zwischen Groß- und Kleinschreibung, wenn die Spalte eine Kollatierung verwendet, die mit _cs
oder endet _bin
(z. B. die utf8_unicode_cs
und utf8_bin
Kollatierungen).
Überprüfen Sie die Sortierung
Sie können Ihre Server- , Datenbank- und Verbindungskollatierungen überprüfen mit:
mysql> show variables like '%collation%';
+----------------------+-------------------+
| Variable_name | Value |
+----------------------+-------------------+
| collation_connection | utf8_general_ci |
| collation_database | latin1_swedish_ci |
| collation_server | latin1_swedish_ci |
+----------------------+-------------------+
und Sie können Ihre Tabellensortierung überprüfen mit:
mysql> SELECT table_schema, table_name, table_collation
FROM information_schema.tables WHERE table_name = `mytable`;
+----------------------+------------+-------------------+
| table_schema | table_name | table_collation |
+----------------------+------------+-------------------+
| myschema | mytable | latin1_swedish_ci |
Sortierung ändern
Sie können Ihre Datenbank-, Tabellen- oder Spaltenkollatierung wie folgt in Groß- und Kleinschreibung ändern:
-- Change database collation
ALTER DATABASE `databasename` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
-- or change table collation
ALTER TABLE `table` CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;
-- or change column collation
ALTER TABLE `table` CHANGE `Value`
`Value` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_bin;
Bei Ihren Vergleichen sollte jetzt zwischen Groß- und Kleinschreibung unterschieden werden.