在Windows系统上,SQL大小写是不敏感的,但是在Linux系统上,对SQL的大小写是敏感度。
查看大小写敏感
在windows下查看:
参数 lower_case_table_names 为1,对大小写不敏感
在linux下查看:
参数 lower_case_table_names 为0,对大小写比较敏感
Mac OS X下参数 lower_case_table_names 默认值是 2 ,创建的表和DB依据语句上格式存放,凡是查找都是转换为小写进行。。
lower_case_table_names 参数详细介绍:
| 参数值 | 解释 |
|---|---|
| 0 | 使用CREATE TABLE或CREATE DATABASE语句指定的大小写字母在硬盘上保存表名和数据库名。名称比较对大小写敏感。在大小写不敏感的操作系统如windows或Mac OS x上我们不能将该参数设为0,如果在大小写不敏感的文件系统上将--lowercase-table-names强制设为0,并且使用不同的大小写访问MyISAM表名,可能会导致索引破坏。 |
| 1 | 表名在硬盘上以小写保存,名称比较对大小写不敏感。MySQL将所有表名转换为小写在存储和查找表上。该行为也适合数据库名和表的别名。该值为Windows的默认值。 |
| 2 | 表名和数据库名在硬盘上使用CREATE TABLE或CREATE DATABASE语句指定的大小写字母进行保存,但MySQL将它们转换为小写在查找表上。名称比较对大小写不敏感,即按照大小写来保存,按照小写来比较。注释:只在对大小写不敏感的文件系统上适用! innodb表名用小写保存。 |