MySQL表名、列名區分大小寫詳解

來源:互聯網
上載者:User

標籤:

前言:出現的問題 在本機資料庫上執行修改銀行卡沒有報錯 但線上執行報錯

發現是表找不到,發現表名不對應該是card_cardinfo,但本地上沒有問題,能正常修改,然後在資料庫裡測試,發現本地庫(win)下表名不區分大小寫,線上(linux)區分

 

在剛開始使用mysql的時候,剛開始是想要區分列名大小寫問題,在網上看到很多辦法,於是就
1、 linux下mysql安裝完後是預設:區分表名的大小寫,不區分列名的大小寫;
  2、 2、用root帳號登入後,在/etc/my.cnf中的[mysqld]後添加添加lower_case_table_names=1,
重啟MYSQL服務,這時已設定成功:不區分表名的大小寫; lower_case_table_names參數詳解: 
lower_case_table_names = 0  
其中 0:區分大小寫,1:不區分大小寫 
MySQL在Linux下資料庫名、表名、列名、別名大小寫規則是這樣的: 
1、資料庫名與表名是嚴格區分大小寫;
   2、表的別名是嚴格區分大小寫; 
   3、列名與列的別名在所有的情況下均是忽略大小寫;    4、變數名也是嚴格區分大小寫; 
MySQL在Windows下都不區分大小寫。
在my.ini中的[mysqld]後添加添加lower_case_table_names=1,重啟MYSQL服務,這時已設定成功:不區分表名的大小寫; lower_case_table_names參數詳解: 
lower_case_table_names = 0  
其中 0:區分大小寫,1:不區分大小寫
3、如果想在查詢時區分欄位值的大小寫,則:欄位值需要設定BINARY屬性,設定的方法有多種:
 
A、 建立時設定: CREATE TABLE T(
A VARCHAR(10) BINARY  );  
B、 使用alter修改:
ALTER TABLE `tablename` MODIFY COLUMN `cloname` VARCHAR(45) BINARY;  C、mysql table editor中直接勾選BINARY項。 
亂碼解決,更詳細的看下字元集設定這篇 

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.