Mysql让查询区分大小写

49 阅读1分钟

在mysql有个表的字段是varchart,用的是django默认生成的,数据库表编码是utf8_general_ci

虽然我在查询的时候已经指明需要区分大小写了(__exact="abc"),但是结果不生效。

直接进入mysql cli查询也是一样。

解决方案:修改表的编码 -> utf8_binutf8_general_cs

在navicat直接修改还不生效,结果还得用mysql cli去执行:

ALTER TABLE 表名称
MODIFY COLUMN 列名称 VARCHAR(50) BINARY CHARACTER 
SET utf8 COLLATE utf8_bin DEFAULT NULL;

参考文章:MySQL查询对大小写不敏感