MYSQL中的大小写敏感配置默认如下:
windows开发环境,默认是大小写不敏感。而linux是敏感的。
如此则会出现在本地测试好好的程序,跑到linux服务器上结果报错,提示数据表不存在,需要统一大小写配置解决。
查看配置:
show variables like '%lower_case_table_names%';
效果如下:
变量lower_case_table_names的取值
取值范围有三个,分别是0、1、2.
- 设置成0:表名按你写的SQL大小写存储,大写就大写小写就小写,比较时大小写敏感。
- 设置成1:表名转小写后存储到硬盘,比较时大小写不敏感。
- 设置成2:表名按你写的SQL大小写存储,大写就大写小写就小写,比较时统一转小写比较。
按照实际情况,确认是否需要统一为大小写敏感或者不敏感
修改方法:
- 找到mysql的安装位置
- 找到主目录下的my.ini/mysql.cnf配置文件
- 在[mysqld]节点下添加lower_case_table_names=对应的值
- 重启mysql服务
特别声明:
windows操作系统是不支持大小写敏感的文件系统,无法设置成0
评论区