问题
# 已有表 user
select * from user # 可以查出来
select * from USER # 报USER不存在
* 这在一些orm框架里可能会产生问题,比如默认使用大写的表名,导致找不到表或者报错
原因
mysql表名大小写再linux环境默认为敏感的
解决
- 首先我们可以在mysql中通过如下命令查看当前是否为大小写敏感
show variables like '%lower_case_table_names%';
1:表示是大小写不敏感
0:则表示敏感
而linux环境的mysql是0
- 通过如下方法修改该值
1. 找到mysql的安装位置
2. 找到主目录下的my.ini配置文件
3. 在[mysqld]节点下添加lower_case_table_names=1
4. 重启mysql服务
接下来通过上面语句查询lower_case_table_names的值已经变为1了,然后再执行两条语句发现都可以正常执行了
感谢您的阅读!如果文章中有任何错误,或者您有更好的理解和建议,欢迎和我联系!