MySQL大小写敏感问题

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

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

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

比如 utf8字符集,

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

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