MySQL 中如何忽略表名的大小写?
MySQL默认在Windows平台上区分大小写,在Unix/Linux平台上不区分大小写。如果你想要在所有平台上都实现不区分大小写的表名,你可以设置lower_case_table_names
系统变量。
请注意,这个设置在MySQL配置文件中是固定的,并且不能在运行时更改。你需要编辑my.cnf
(或my.ini
在Windows上)文件,然后重启MySQL服务。
在my.cnf
或my.ini
文件中,添加或更新以下行:
[mysqld]
lower_case_table_names = 1
然后,你需要重启MySQL服务以使更改生效。
在Unix/Linux系统中,你可以通过以下命令重启MySQL服务:
sudo service mysql restart
或者在Windows系统中,你可以通过以下命令重启MySQL服务:
net stop mysql
net start mysql
请注意,更改lower_case_table_names
设置将影响所有的表名,包括已存在的和新创建的。因此,在进行更改之前,请确保这是你想要的行为,并考虑到这可能会影响依赖于大小写敏感性的数据库和应用程序。
此外,请注意,即使设置了lower_case_table_names = 1
,数据库名和表名的字符大小写仍然是保存在文件系统中的。但是,表的别名在查询中使用时不受此设置的影响,始终保留在查询中指定的大小写。
评论已关闭