mysql搜索不区分大小写

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

原文地址:https://www.cnblogs.com/yanze/p/10114762.html