Linux中MySQL忽略表中欄位大小寫

來源:互聯網
上載者:User

標籤:工程   win   添加   ase   0.00   欄位   我的linux   har   start   

linux 下,mysql 的表面預設是區分大小寫,windows 下預設不區分大小寫,我們大多數在windows 下開發,之後遷移到linux(特別是帶有Hibernate的工程),可以修改配置是linux下,myql 表名不區分大小寫

  MySQL在Linux下資料庫名、表名、列名、別名大小寫規則是這樣的:

      1、資料庫名與表名是嚴格區分大小寫;

      2、表的別名是嚴格區分大小寫;

      3、列名與列的別名在所有的情況下均是忽略大小寫;

      4、變數名也是嚴格區分大小寫;    MySQL在Windows下都不區分大小寫

1. 修改 etc/my.cnf 檔案 添加 

  lower_case_table_names =1

        其中 0:區分大小寫,1:不區分大小寫

我的linux 伺服器上沒有找到my.cnf檔案,解決方案如下

Linux下用rpm包安裝的MySQL是不會安裝/etc/my.cnf檔案的,
  至於為什麼沒有這個檔案而MySQL卻也能正常啟動和作用,在這有兩個說法,
  第一種說法,my.cnf只是MySQL啟動時的一個參數檔案,可以沒有它,這時MySQL會用內建的預設參數啟動,
  第二種說法,MySQL在啟動時自動使用/usr/share/mysql目錄下的my-medium.cnf檔案,這種說法僅限於rpm包安裝的MySQL,
  解決方案,只需要複製一個/usr/share/mysql目錄下的my-medium.cnf檔案到/etc目錄,並改名為my.cnf即可。

2. 注意,lower_case_table_names =1 的配置需要添加在my.cnf 檔案的mysqld 配置節中

3. 重啟mysql 服務, service mysql restart

4. 進入MySQL查看修改結果

  *查看大小寫區分

  mysql> show variables like "%case%";
  +------------------------+-------+
  | Variable_name          | Value |
  +------------------------+-------+
  | lower_case_file_system | OFF   | 
  | lower_case_table_names | 1     |     //0區分 1不區分
  +------------------------+-------+

  2 rows in set (0.00 sec)

 

Linux中MySQL忽略表中欄位大小寫

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.