在 MySQL 中,大小写不敏感是通过字符集和校对规则来实现的。MySQL 默认使用的是无校对规则(binary),即对大小写敏感。如果想要使用大小写不敏感,需要更改校对规则为utf8_general_ci
(注意,这只对字符类型的列有效)。
ALTER TABLE table_name MODIFY column_name VARCHAR (30) CHARACTER SET utf8 COLLATE utf8_general_ci;
修改表或列的大小写敏感属性后,查询语句就可以忽略大小写进行匹配了。例如:
SELECT * FROM table_name WHERE column_name = 'test';
无论是 ‘Test’,’TEST’ 或者 ‘tEsT’ 都可以正确地匹配到 ‘test’ 这个值。
需要注意的是,MySQL 对大小写不敏感只是针对字符类型的列。对于其他类型的列(如数字和日期),大小写敏感仍然会产生影响。