關於Mysql的大小寫敏感

來源:互聯網
上載者:User

標籤:sql   作業系統相關   大小寫   檔案組   自動轉換   acl   mes   lse   res   

由於mysql的資料庫直接對應著資料目錄,而表、觸發器則對應著目錄下的檔案,因此mysql的標識符是否大小寫敏感不僅與所在作業系統相關,也與是哪種對象相關。

預設情況下,mysql的大小寫敏感是這樣的:

  • 欄位名、欄位別名、索引名、預存程序名……,只要不涉及目錄和檔案,任何平台都不分大小寫;
  • Windows平台,資料庫名、表名、表別名、觸發器名等,也不分大小寫;
  • Unix, Linux平台,資料庫名、表名、表別名、觸發器名等,就要區分大小寫了;
  • 記錄檔組名,又是區分大小寫,這個一般情況下沒多少人關注;
  • 變數名嚴格區分大小寫。

為了防止出現相同的代碼在不同平台出現異常的情況,通常有兩種方法:

  • 涉及到資料庫、表、觸發器的語句,一律用小寫;
  • 在my.ini的[mysqld]段,加上“lower_case_table_names=1”。

順便說說其他資料庫的情況:

  • Oracle: 預設是大小寫不敏感,表名、欄位名等不區分大小寫,小寫字母會自動轉換為大寫字母,需要用小寫字母時需要使用雙引號。
  • PostgreSQL: 預設是大小寫不敏感,表名、欄位名等不區分大小寫,大寫字母會自動轉換為小寫字母(正好與Oracle相反), 需要用大寫字母時需要使用雙引號。
  •  SQLServer: 預設是大小寫不敏感; 可以通過修改定序改變。

 

關於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.