我用的是phpMyAdmin和PDO。我的数据库用的是utf8mb4_general_ci。看起来像这样。
CREATE TABLE `my_database`.`example` (
`id` INT NOT NULL AUTO_INCREMENT,
`code` VARCHAR(255) NULL DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE (`code`)
) ENGINE = InnoDB;
我在插入'A'和'a'时遇到错误。我通过将code
列的排序规则更改为utf8mb4_bin来修复该错误。
有什么方法可以将utf8mb4_general_ci用于敏感大小写吗?我可以在phpMyAdmin,PDO,或者SQL中设置它吗?
1条答案
按热度按时间vsikbqxv1#
感谢@tkausl和@topsail。
其中
utf8mb4_general_ci
包含_ci
说明,对于大小写不敏感。从https://stackoverflow.com/questions/4558707/case-sensitive-collation-in-mysql开始,我应该使用
utf8mb4_bin
作为区分大小写的唯一列,我可以使用ORDER BY column COLLATE utf8_general_ci
。