mysql限制大小寫 mysql對大小寫的限制問題

2021-10-18 23:58:40 字數 792 閱讀 5160

今天研發人員問我,mysql對大小寫有限制嗎?我想都沒想,說沒限制。過了一會兒,研發人員告訴我說linux下是有限制的。我頓時有種打自己臉的感覺。對於自己不確定的問題,一定得想清楚,查明白了再說。

在windows和mac os中,lower_case_tables_name的預設值是1.

如果只是在乙個平台上使用mysql,通常是不需要更改lower_case_tables_name變數。但是如果在對大小寫敏感不同的作業系統上匯入資料庫,就會遇到問題。在linux上,test_table和test_table是兩個不同的表。在windows中,這兩個表明相同。

在資料轉移時避免由於資料庫名和表名的大小寫造成的資料轉移問題,可使用兩個選項:

(1)在任何系統中可以使用lower_case_tables_name=1。使用該選項的不利之處是當使用show tables或show databases時,看不出名字原來是用大寫還是小寫

(2)在linux中使用lower_case_tables_name=0,在windows中使用lower_case_tables_name=2。這樣了可以保留資料庫名和表名的大小寫。不利之處是必須確保在windows中查詢總是用正確大小寫引用資料庫名和表名。如果將查詢轉移到linux中,由於在linux中大小寫很重要,如果大小寫不正確,它們不工作。

例外:如果你正使用innodb表,在任何平台上均應將lower_case_tables_name設定為1,以強制將名轉換為小寫。請注意在linux中將lower_case_tables_name設定為1之前,重啟mysqld之前,必須先將舊的資料庫名和表名轉換為小寫。

原文:

mysql 小寫 MySQL大小寫小結

小結 1.資料庫名大小寫敏感,不可引數調配 2.表名大小寫敏感 可引數調配lower case table names 表別名敏感大小寫 3.列名和列的別名不敏感大小寫 4.變數名嚴格敏感大小寫,不可引數調配 5.執行目錄大小寫敏感,可引數調配 lower case file system 6.wi...

mysql 大寫 小寫 MySQL大小寫問題

最近在將乙個windows的mysql資料庫轉到linux上時,碰到表找不到問題,具體分析了下後發現原來是大小寫問題。在 mysql 中,資料庫和表對就於那些目錄下的目錄和檔案。因而,作業系統的敏感性決定資料庫和表命名的大小寫敏感。這就意味著資料庫和表名在 windows 中是大小寫不敏感的,而在大...

mysql 區分大小寫 大小寫敏感 配置

linux下mysql預設區分大小寫 windows下mysql預設不區分大小寫 檢視是否區分大小寫 lower case table names引數詳解 lower case table names 0 其中 0 區分大小寫,1 不區分大小寫 mysql在linux下資料庫名 表名 列名 別名大小...