mysql搜索是不区分大小写的,这种情况下我们有两种方法解决
知识前提:
BINARY
binary不是函数,而是一个类型转换运算符,它用来强制字符串为一个二进制字符串,可以理解为在字符串比较的时候区分大小写。
一般用于查询语句
COLLATE
即校验规则:
*_bin: 表示的是binary case sensitive collation,也就是说是区分大小写的
*_cs: case sensitive collation,区分大小写
*_ci: case insensitive collation,不区分大小写
备注:
*为编码方式
使用它时一般与CHARACTER SET搭配,例如:`name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL
究其原因,因为当前字段的编码方式决定了COLLATE可选内容。
综上所述
方法一:搜索语句加上binary
eg: select * from test where binary name= 'aa'
方法二:创建时添加CHARACTER SET及COLLATE
eg: name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL