您的位置:首页 > 数据库 > MySQL

MySQL大小写问题

2016-04-19 10:26 351 查看
原来Linux下的MySQL默认是区分表名大小写的,通过如下设置,可以让MySQL不区分表名大小写:
1、用root登录,修改 /etc/my.cnf;
2、在[mysqld]节点下,加入一行: lower_case_table_names=1
3、重启MySQL即可;

其中 lower_case_table_names=1 参数缺省地在 Windows 中这个选项为 1 ,在 Unix 中为 0,因此在window中不会遇到的问题,一旦一直到linux就会出问题的原因.

MYSQL在LINUX下数据库名、表名、列名、别名大小写规则如下:

1.数据库名表名是严格区分大小写的

2.表的别名是严格区分大小写的

3.列名与列的别名在所有的情况下均是忽略大小写的

4.变量名也是严格区分大小写的

MYSQL在WINDOWS下都不区分大小写

(1) 关键字: 不区分大小写 select * fRom table_name 和 select * from table_name 效果是一样的

(2) 标示符(如数据库名称和表名称):不区分大小写。如存在表users,那么select * from users和select
* from uSers 效果一样。网上说这跟操作系统有关,在所有Unit操作系统(除了使用HFS+的Mac OS
之外)上都是区分大小写的,而在windows上是不区分大小写的。(网上的这一说法没有验证过,我在windows
server2003上是不区分大小写的)
(3) 表的别名:不区分大小写 select m.* from users m where M.username = 'aa';
(4) 列的别名:不区分大小写 select uName from (select username as uname from users where id = 768)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: