可以设置的
在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
前首先将老的表名转换为小写字母。
⑵ mysql数据库表名区分大小写
使用mysql的时候,创建的表明都是大写的,但是查询语句中表明用消息就会报错,表不存在。
查询后发现mysql默认配置是表明区分大小写的,如果要修改成不区分大小写,需要修改一下配置。
⑶ mysql区分表名区分大小写吗
用root帐号登录后,在/etc/my.cnf 中的[mysqld]后添加添加lower_case_table_names=1,重启MYSQL服务,这时已设置成功:不区分表名的大小写;
lower_case_table_names参数详解:
lower_case_table_names = 0
其中0:区分大小写,1:不区分大小写
MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的:
1、数据库名与表名是严格区分大小写的;
2、表的别名是严格区分大小写的;
3、列名与列的别名在所有的情况下均是忽略大小写的;
4、变量名也是严格区分大小写的;
MySQL在Windows下都不区分大小写。
3、如果想在查询时区分字段值的大小写,则:字段值需要设置BINARY属性,设置的方法有多种:
A、创建时设置:
CREATE TABLE T(
A VARCHAR(10) BINARY);B、使用alter修改