mysql表名忽略大小寫配置

2022-07-24 19:15:15 字數 988 閱讀 1915

linux下mysql預設是要區分表名大小寫的。mysql是否區分大小寫設定是由引數lower_case_table_names決定的,其中:

1)lower_case_table_names = 0 

區分大小寫(即對大小寫不敏感),預設是這種設定。這樣設定後,在mysql裡建立的表名帶不帶大寫字母都沒有影響,都可以正常讀出和被引用。

2)lower_case_table_names = 1 

不區分大小寫(即對大小寫敏感)。這樣設定後,表名在硬碟上以小寫儲存,mysql將所有表名轉換為小寫儲存和查詢表上。該行為也適合資料庫名和表的別名

也就是說,mysql設定為不分割槽大小寫後,建立庫或表時,不管建立時使用大寫字母,建立成功後,都是強制以小寫儲存!

mysql在linux下資料庫名、表名、列名、別名大小寫規則是這樣的:

1)資料庫名與表名是嚴格區分大小寫的;

2)表的別名是嚴格區分大小寫的;

3)列名與列的別名在所有的情況下均是忽略大小寫的;

4)變數名也是嚴格區分大小寫的;

5)mysql在windows下都不區分大小寫,但是在linux下預設是區分大小寫的。

6)如果想在查詢時區分字段值的大小寫,則字段值需要設定binary屬性,設定的方法有多種:

a)建立時設定:

create table t(a varchar(10) binary);

b)使用alter修改

所以在不同作業系統中為了能使程式和資料庫都能正常執行,最好的辦法是在設計表的時候都轉為小寫!!

修改mysql為不區分大小寫設定:

mysqladmin -uroot -p shutdown //以安全模式關閉資料庫

修改 my.cnf //新增下面一行設定

.....

[mysqld]

lower_case_table_names=1

.....

啟動mysql

MySQL表名忽略大小寫

原來linux下的mysql預設是區分表名大小寫的,通過如下設定,可以讓mysql不區分表名大小寫 1 用root登入,修改 vi etc my.cnf 2 在 mysqld 節點下,加入一行 lower case table names 1,如下 mysqld datadir var lib my...

mysql 表名忽略大小寫修改

linux下mysql 預設是區分表的大小寫的,而一般擼碼的時候常常忽略大小寫,所以需要對linux下的mysq做些配置使其對錶的大小寫不敏感。首先登陸root 賬號,檢視當前mysql的狀態 mysql show variables like case variable name value lo...

mysql 忽略大小寫配置

引用 ps.新安裝linux系統,明明庫中包含表a,但log說就是沒有,仔細一看表名是大寫,靈機一動就想到大小寫敏感!坑這種東西,踩踩更健康!新安裝mysql5.7版本後,linux環境下預設是大小寫敏感的。可以在客戶端執行以下命令 show variables like case 可以看到 low...