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

MySQL数据库名、表名、列名、别名区分大小写的问题

2016-05-21 18:53 465 查看
网站代码移植到服务器的时候,发现数据库读取不出来,查找原因,最终发现是数据库表名大小写问题。

MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的:

  1、数据库名与表名是严格区分大小写的;

  

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

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

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

操作系统的敏感性决定数据库和表命名的大小写敏感,所以:

MySQL在Windows下都不区分大小写。

MySQL在Mac下好像也不区分大小写(起码我操作起来没出现问题),但是OS X又是类Unix系统,难道大小写敏感改了?

XiaonandeMacBook-Pro:~ Ive$ ls
Applications    Downloads   Music       VirtualBox VMs
Desktop     Library     Pictures    www
Documents   Movies      Public
XiaonandeMacBook-Pro:~ Ive$ cd music
XiaonandeMacBook-Pro:music Ive$ ls
Audio Music Apps    iTunes
GarageBand      网易云音乐
XiaonandeMacBook-Pro:music Ive$ cd ../Music/
XiaonandeMacBook-Pro:Music Ive$ ls
Audio Music Apps    iTunes
GarageBand      网易云音乐


测试了一下,大小写其实都可以,但是小写的时候,没有Tab补全。

  所以在不同操作系统中为了能使程序和数据库都能正常运行,最好的办法是在设计的时候都转为小写,但是如果在设计的时候已经规范化大小写了,那么在Linux环境下只要对数据库的配置做下改动就行了,具体操作如下:

  在MySQL的配置文件中
/etc/mysql/my.ini
[mysqld]
模块中增加一行

  lower_case_table_names = 1


  参数解释:

  0:区分大小写

  1:不区分大小写

https://help.aliyun.com/knowledge_detail/7602928.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: