当前位置:首页 > 人工智能

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%; 

有可能结果是上面的没改过来...

我们把数据库导出,重新创建一下数据库结果就正确了

感处

感处

分享到:

滇ICP备2023006006号-16