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

来源:asp之家 时间:2010-06-07 14:07:00 

在 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_TABLE.col=1;

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

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

mysql> SELECT col_name FROM tbl_name AS a WHERE a.col_name = 1 OR A.col_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

$ ./mysql.server stop

$ pwd

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

./mysqld_safe --lower_case_table_names

方法2:修改my.cnf配置文件

在[mysqld]节下加入

lower_case_table_names=1

标签:Mysql数据库,表名,大小写,Mysql教程
0
投稿

猜你喜欢

  • 使用有趣的自定义标记布局页面

    2012-07-12 01:29:03
  • Python中Tkinter Scrollbar滚动条(窗口滑动条)

    2021-11-12 00:22:59
  • 深入了解Python iter() 方法的用法

    2023-11-05 02:12:37
  • 微信小程序开发自定义tabBar实战案例(定制消息99+小红心)

    2024-05-22 10:32:10
  • windows下安装php的memcache模块的方法

    2023-11-20 05:47:38
  • 再谈Python中的字符串与字符编码(推荐)

    2023-06-15 23:25:08
  • Web设计中的黄金分割[译]

    2009-02-20 13:41:00
  • python下如何让web元素的生成更简单的分析

    2023-01-28 23:46:34
  • 使用NetBox 编译 asp 为exe应用程序

    2009-11-29 16:13:00
  • Javascript的闭包

    2024-04-19 09:48:38
  • jsp中文显示问号问题解决方法

    2023-07-22 10:33:50
  • python实现LBP方法提取图像纹理特征实现分类的步骤

    2023-05-24 02:12:27
  • 另外一种斜体的导航条

    2008-11-05 12:24:00
  • Python分析彩票记录并预测中奖号码过程详解

    2023-07-20 04:49:18
  • 全网最详细的PyCharm+Anaconda的安装过程图解

    2023-11-03 17:36:35
  • Python 数据类型--集合set

    2021-11-23 21:17:54
  • vue 计时器组件的实现代码

    2023-07-02 16:59:56
  • MySQL如何优雅的删除大表实例详解

    2024-01-24 10:15:03
  • 解决MySQL5.1安装时出现Cannot create windows service for mysql.error:0

    2024-01-28 09:56:13
  • python自定义函数实现最大值的输出方法

    2022-02-07 19:15:28
  • asp之家 网络编程 m.aspxhome.com