MySQL大小写敏感问题

问题的发现,从我测试接口说起。后来发现windows和linux下的mysql对大小写敏感是有区别的。
windows下:不区分大小写(不敏感)
linux下:区分大小写(敏感)
mysql版本:5.7

这是本次测试的例图
在这里插入图片描述
这是服务器测试的例图
在这里插入图片描述
报错信息已经提到了sql语句以及数据库的问题,我们先看一下数据库吧
本地:
在这里插入图片描述
服务器:
在这里插入图片描述
没有问题,再看一下sql
左边:是之前写好,在Navicat上美化的sql
右边:后来改成与数据库一致的sql
在这里插入图片描述
至此,我发现了mysql的大小敏感的问题。

mysql有一些字段值,数据库名称,表名的大小写由mysql的校对规则来控制。校对规则是在字符集内用于比较字符的一套规则。字符集大家应该都懂的吧,它是一套符号和编码。
一般而言,校对规则以其相关的字符集名开始,通常包括一个语言名,并且以_ci(大小写不敏感)、_cs(大小写敏感)或_bin(二元)结束

比如 utf8字符集,

utf8_general_ci 表示不区分大小写,这个是utf8字符集默认的校对规则
utf8_general_cs 表示区分大小写
utf8_bin 表示二进制比较,同样也区分大小写

然后我去查看了本地和服务器上的mysql的字符集,结果是一样的,所以我最后得出的结论是,linux系统和windows系统下的mysql对大小写敏感是有区别的。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值