最近因為乙個新的業務模組,因此使用到到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 ...