数据库名和表名的大小写敏感性问牛

检测设备2021年09月06日

震荡(+—0.5%) 在 MySQL 中,数据库和表对应于那些目录下的目录和文件。因而,操作系统的敏感性决定数据库和表命名的大小写敏感。这就意味着数据库和表名在 Windows 中是大小写不敏感的,而在大多数类型的 Unix 系统中是大小写敏感的。一个特例是 Mac OS X,当缺省的 HFS+ 文件系统使用时。然而 Mac OS X 还支持 UFS 卷,那些在 Mac OS X 是大小写敏感的就如他们在任一 Unix 上一样。查看章节 1.8.3 MySQL 对 ANSI SQL92 的扩展。

注意:尽管在 Windows 中数据库与表名是忽略大小写的,你不应该在同一个查询中使用不同的大小写来引用一个给定的数据库和表。下面的查询将不能工作,因为它以 my_table 和 MY_TABLE 引用一个表:

mysql SELECT * FROM my_table WHERE MY_l=1;

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

表的别名是区分大小写的。下面的查询将不能工作,因为它用 a 和 A 引用别名:

mysql SELECT col_name FROM tbl_name AS a WHERE l_name = 1 OR l_name = 2;

如果记忆数据库和表名的字母大小写有困难,建议采用一个一致一约定,例如总是以小写字母创建数据库和表。

避免这个问题的另一个办法就是以 -O lower_case_table_names=1 参数启动 mysqld。缺省地在 Windows 中这个选项为 1 ,在 Unix 中为 0。

如果 lower_case_table_names 为 1 ,MySQL 将在存储与查找时将所有的表名转换为小写字线。(从 MySQL 4.0.2 开始,这个选项同样适用于数据库名。) 注意,当你更改这个选项时,你必须在启动 mysqld 前首先将老的表名转换为小写字母。

$ pwd

/data1/etl/aiinsight/ScheduleServer/mysql/support-files

$ ./rver stop

$ pwd

/data1/etl/aiinsight/ScheduleServer/mysql/bin

./mysqld_safe --lower_case_table_names

方法2:修改f配置文件

在[mysqld]节下加入

lower_case_table_names=1

石家庄治疗妇科多少钱
成都治疗不孕不育医院
江中黄芪生脉饮价格多少钱
相关阅读
全新制表,惊艳亮相

PanoMaticCalendar离心力的有陀飞轮 – Glashütte Original 特里苏蒂原创首款的有陀飞...

2024-09-01
有种“照妖镜”叫明星用网红滤镜,雷trax变尖脸,陈小春撞脸杨迪

有种“照妖影”叫影星用网红光源,戈丰华唱片变尖撕,郑中基撞撕杨迪 随...

2024-07-11
上海11万初三同学重回校园

以前,广州11万名初一年级师生重回大公立学校园。“这届初一师生更不容易...

2024-03-07
袁杏宜广州市名师工作室参加南方教研大讲坛讲演活动

六月初夏意美浓,学术恰巧缤纷。为立足于统编历史背景新教材,实施2017版...

2024-01-29
评论丨启功书法赝品印上北大学生证,一个尴尬的隐喻

批评家丨德馨鉴赏真品标明清华会员卡,一个惊愕的意涵 清华的这本会员...

2024-01-26
直击调研 | 中材科技(002080.SZ):今年叶片出货量预计同比增加20% 十四五末期膜产能或达

7月5日,中会材科技应用领域(002080.SZ)在接受调研时表示,的公司是杂货店投...

2024-01-20
友情链接