MySQL数据库表大小写不敏感处理,看完之后,大部分程序员收藏了

网友投稿 979 2023-05-13

MySQL数据库表大小写不敏感处理,看完之后,大部分程序员收藏了

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小时内删除侵权内容。

上一篇:MySQL常见的图形化工具
下一篇:记一次生产环境SQL Server服务器卡顿问题解决--内存分配不当
相关文章