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