mysql自动忽略大小写问题

这个设置打开貌似也就模糊匹配的时候方便一些
但是会引起很多问题

  1. 最严重的是更新条件忽略了大小写,数据的更新是不是所期望的
  2. 查询的时候 = 过滤、distinct、group by都会自动忽略大小写,这个结果是不是所期望的

建议关掉,毕竟不符合大多数人的期望,非要开启的话,必须从业务设计的层面上避免掉,但也是个非常大的隐患

设置方式:

  1. 全局设置
    修改my.ini文件
    lower_case_table_names=1
    lower_case_table_names = 1
    说明 0:区分大小写,1:不区分大小写

  2. 在创建表的时候指定collate为utf8_bin,就可以实现大小写敏感,如果建表时未指定,则可修改字段的校对规则,也可以实现大小写敏感。
    alter table test modify email varchar(20) collate utf8_bin;

数据库大小写配置查
SHOW VARIABLES LIKE ‘%case%’;

查版本号
select version();

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值