MySQL 表名大小写问题
数据库名与表名的规则相同;列名、索引、存储过程、触发器名在任何平台都不区分大小写。
查看数据库大小写敏感设置:
show variables like 'lower_case_table_names';
取值及含义:
0:表名按照指定的大小写存储,查找的时候区分大小写;
1:表名存储小写,查找的时候都转成小写查找(即不区分大小写);
2:表名按照指定的大小写存储,查找的时候都转成小写查找;
默认:
linux默认值0,Windows 默认为1,阿里云RDS 默认为1
修改(修改完需要重启mysql:systemctl restart mysqld):
Windows下:
找到mysql安装目录下my.ini文件,在文件后最后添加 lower_case_table_names=1
linux下:
在/etc/ 目录下 my.cnf文件,在文件后最后添加 lower_case_table_names=1
提示:
将lower_case_table_names 修改为1之前,需要将旧的表名转换为小写,否则该表无法查询,无法删除。