So sánh là trường hợp nhạy cảm khi cột dùng một collation kết thúc với _ci
(chẳng hạn như mặc định latin1_general_ci
đối chiếu) và họ là trường hợp nhạy cảm khi cột dùng một collation mà kết thúc bằng _cs
hoặc _bin
(như utf8_unicode_cs
và utf8_bin
collations).
Kiểm tra đối chiếu
Bạn có thể kiểm tra máy chủ , cơ sở dữ liệu và đối chiếu kết nối bằng cách sử dụng:
mysql> show variables like '%collation%';
+----------------------+-------------------+
| Variable_name | Value |
+----------------------+-------------------+
| collation_connection | utf8_general_ci |
| collation_database | latin1_swedish_ci |
| collation_server | latin1_swedish_ci |
+----------------------+-------------------+
và bạn có thể kiểm tra đối chiếu bảng của mình bằng cách sử dụng:
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 |
Thay đổi đối chiếu
Bạn có thể thay đổi cơ sở dữ liệu, bảng hoặc đối chiếu cột của mình thành một trường hợp nhạy cảm như sau:
-- 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;
So sánh của bạn bây giờ nên phân biệt chữ hoa chữ thường.