麒麟v10 上部署 TiDB v5.1.2 生产环境优化实践
1075
2023-05-13
MySQL数据库表大小写不敏感处理,看完之后,大部分程序员收藏了
MySQL大小写敏感的控制
mysql是通过lower_case_table_names参数来控制大小写敏感的
1:参数含义
lower_case_table_names: 此参数不可以动态修改,必须重启数据库
lower_case_table_names = 1 表名存储在磁盘是小写的,但是比较的时候是不区分大小写
lower_case_table_names=0 表名存储为给定的大小和比较是区分大小写的
lower_case_table_names=2, 表名存储为给定的大小写但是比较的时候是小写的
2 大小写区分规则
linux下:
数据库名与表名是严格区分大小写的;
表的别名是严格区分大小写的;
列名与列的别名在所有的情况下均是忽略大小写的;
变量名也是严格区分大小写的;
windows下:
都不区分大小写
Mac OS下(非UFS卷):
都不区分大小写
案列:
数据库中存在edu_website_images表
select * from edu_website_images
通过大写查询报错不存在
select * from EDU_WEBSITE_IMAGES
如何处理?
配置mysql配置文件
vi /etc/my.cnf 加入一行lower_case_table_names = 1
//重启mysqlservice mysql restart
然后
show variables like '%lower%';
有可能结果是上面的没改过来...
我们把数据库导出,重新创建一下数据库结果就正确了
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。