1. 程式人生 > >MySQL大小寫敏感問題和命名規範

MySQL大小寫敏感問題和命名規範

列名 數據庫 lower ace 是否 有一個 文件中 itl 能夠

轉自:http://www.cnblogs.com/conanwang/p/5927557.html

1.MySQL大小寫敏感規則

MySQL中,一個庫會對應一個文件夾,庫裏的表會則以文件的方式存放在文件夾內,所以,操作系統對大小寫的敏感性決定了數據庫和表的大小寫敏感(MySQL有一個只讀的系統變量lower_case_file_system,其值反映的正是當前文件系統是否區分大小寫)因此:在Windows下Mysql的數據庫和表名是大小寫不敏感的,而在大多數類型的Unix系統中是大小寫敏感的。


以下是MySQL詳細的大小寫區分規則:

在Linux下:

1、數據庫名與表名是嚴格區分大小寫的;
2、表的別名是嚴格區分大小寫的;
3、列名與列的別名在所有的情況下均是忽略大小寫的;
4、變量名也是嚴格區分大小寫的;

在Windows下:

全部不區分大小寫



補充:

1.MySQL中有一個系統變量:lower_case_table_names,專門用來配置是否區分據庫名與表名的大小寫。 如果你的系統是Windows,而你又希望mysql能夠區分大小寫,那麽你可以在my.ini文件中,在[mysqld]一節的最後,加入如下部分:

  1. #If set to 0, table names are stored as specified and comparisons are case sensitive.
  2. #If set to 1, table names are stored in lowercase on disk and comparisons are not case sensitive.
  3. #If set to 2, table names are stored as given but compared in lowercase. This option also applies to database names and table aliases.
  4. lower_case_table_names=0

MySQL大小寫敏感問題和命名規範