設定mysql資料庫表名不區分大小寫

2021-07-09 04:01:26 字數 958 閱讀 2239

最近因為乙個新的業務模組,因此使用到到msyql資料庫。

我對接的技術開發中心的同事因為對錶名、欄位名大小寫使用特別不規範,查詢的時候 乙個表名很經常大寫-小寫-大寫,因此讓我將資料庫設定為對錶名不區分大小寫。

mysql資料庫的表的欄位名是不區分大小寫的,

設定表名不區分,可以在 資料庫的配置檔案中新增一行:

lower_case_table_names=1

1:是表示不區分大小寫;

0:表示表名區分大小寫;

修改配置後需要重啟資料庫,設定才能生效。

要是設定正常滿足需求,修改設定之前得確保資料庫裡的表名都已經是小寫的了。否則,資料庫重啟後,之前那些大寫的表無法使用了。

同時,跟資料庫名字的大小寫也有關係。

測試:首先在區分大小寫環境下,建立兩個資料庫,"iris"  和 "iris"。同名的,乙個大寫,乙個小寫。

分別建立幾張表,有大寫表名,有小寫的。

資料庫修改為 「不區分大小寫」,設定生效之後,進入資料庫檢視庫,依舊顯示 "iris" 和 "iris"。但是,"iris"已經只能看不能用了,use iris ,命令也報錯。當然,此庫下面的表也一樣,看都看不到了。

如果使用的是連線工具,諸如sqlyog等圖形化介面的話。

這個時候,切換資料庫: use iris,並且向 iris這個庫中新建表,表名 abc 。

再將 資料庫設定為「區分大小寫」。show databases: 依舊顯示,"iris" 和 "iris"。並且,檢視"iris"中所有的表的時候:

show tables:

看到的表也有 abc;

向表iris.abc 插入資料,在iris庫的表下也能看到新增的資料。

其實這個時候,對資料庫來說,iris和iris就是同乙個了。

但是,檢視資料庫檔案,可以發現 資料庫目錄 名為iris 目錄下沒有 表abc.frm 等檔案。所以,設定如果再切過來,將看不到 後來新建的表的。 

MySQL資料庫設定表名區分大小寫

使用mysql的朋友有時候會遇到表名稱不區分大小寫的情況,導致匯入資料或者備份資料庫很麻煩。如何設定mysql資料庫表名區分大小寫呢,配置如下 一 修改mysql的配置檔案my.ini my.ini檔案中加入 character set server utf8 lower case table na...

更改MYSQL資料庫不區分大小寫表名

url 原來是linux下的mysql預設是要區分表名大小寫的,哎,弄了那麼舊,害死我了。讓mysql不區分表名大小寫的方法其實很簡單 color darkblue 1.用root登入,修改 etc my.cnf,b linux下面的xampp的my.cnf位置是 opt lampp etc my....

設定Linux下Mysql表名不區分大小寫

1 linux下mysql安裝完後是預設 區分表名的大小寫,不區分列名的大小寫 2 用root帳號登入後,在 etc my.cnf中的 mysqld 後新增新增lower case table names 1,重啟mysql服務,這時已設定成功 不區分表名的大小寫 lower case table ...