mysql表名忽略大小寫

來源:互聯網
上載者:User

標籤:ar   使用   sp   檔案   資料   art   問題   bs   linux   

查看大小寫區分
mysql> show variables like "%case%";
+------------------------+-------+
| Variable_name          | Value |
+------------------------+-------+
| lower_case_file_system | OFF   | 
| lower_case_table_names | 0     | 
+------------------------+-------+
2 rows in set (0.00 sec)




今天鬱悶死了,在LINUX下調一個程式老說找不到表,但是我明明是建了表的,在MYSQL的命令列下也可以查到,為什麼程式就找不到表呢?
  後來請教了一個老師才搞定,原來是LINUX下的MYSQL預設是要區分表名大小寫,哎,弄了那麼舊,害死我了。
  讓MYSQL不區分表名大小寫方法其實很簡單:
  1.用ROOT登入,修改/etc/my.cnf
  2.在[mysqld]下加入一行:lower_case_table_names=1
  3.重新啟動資料庫即可


今天測試的時候,遇到一些問題,明明看到資料,就是查不出來;後來發現,在linux下,mysql的表名區分大小寫,而在windows下是不區分,從windows下匯出的資料指令碼中使用的是小寫,
而Hibernate產生的sql中表名是大寫的,所以查不出資料。
google了一些資料,修改mysql的一個參數就可以了,如下:
在ubuntu下,/etc/mysql/my.cnf檔案中
[mysqld]的後面加
lower_case_table_names=1 
0,區分大小寫; 1,不區分
好像還有說在/etc/my.cnf,在ubuntu下,這個不能使用。
然後重啟mysql
sudo /etc/init.d/mysql restart
註:(下面內容摘自網上)
MYSQL在LINUX下資料庫名、表名、列名、別名大小寫規則如下: 
1.資料庫名與表名是嚴格區分大小寫 
2.表的別名是嚴格區分大小寫 
3.列名與列的別名在所有的情況下均是忽略大小寫 
4.變數名也是嚴格區分大小寫 

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.