mysql数据库不区分大小写吗
发布网友
发布时间:2022-04-25 12:10
我来回答
共1个回答
热心网友
时间:2022-04-08 05:34
可以设置的
在MySQL
中,数据库和表对就于那些目录下的目录和文件。因而,操作系统的敏感性决定数据库和表命名的大小写敏感。这就意味着数据库和表名在
Windows
中是大小写不敏感的,而在大多数类型的
Unix
系统中是大小写敏感的。
奇怪的是列名与列的别名在所有的情况下均是忽略大小写的,而表的别名又是区分大小写的。
要避免这个问题,你最好在定义数据库命名规则的时候就全部采用小写字母加下划线的组合,而不使用任何的大写字母。
或者也可以强制以
-O
lower_case_table_names=1
参数启动
mysqld(如果使用
--defaults-file=...\my.cnf
参数来读取指定的配置文件启动
mysqld
的话,你需要在配置文件的
[mysqld]
区段下增加一行
lower_case_table_names=1)。这样MySQL
将在创建与查找时将所有的表名自动转换为小写字符(这个选项缺省地在
Windows
中为
1
,在
Unix
中为
0。从
MySQL
4.0.2
开始,这个选项同样适用于数据库名)。
当你更改这个选项时,你必须在启动
mysqld
前首先将老的表名转换为小写字母。