这个设置打开貌似也就模糊匹配的时候方便一些
但是会引起很多问题
- 最严重的是更新条件忽略了大小写,数据的更新是不是所期望的
- 查询的时候 = 过滤、distinct、group by都会自动忽略大小写,这个结果是不是所期望的
建议关掉,毕竟不符合大多数人的期望,非要开启的话,必须从业务设计的层面上避免掉,但也是个非常大的隐患
设置方式:
-
全局设置
修改my.ini文件
lower_case_table_names=1
lower_case_table_names = 1
说明 0:区分大小写,1:不区分大小写 -
在创建表的时候指定collate为utf8_bin,就可以实现大小写敏感,如果建表时未指定,则可修改字段的校对规则,也可以实现大小写敏感。
alter table test modify email varchar(20) collate utf8_bin;
数据库大小写配置查
SHOW VARIABLES LIKE ‘%case%’;
查版本号
select version();