今天準備上線的環境,往伺服器上布服務,某個功能查詢報錯,覺得很奇怪,環境一樣,**一樣,資料一樣,為何呢,看了一眼sql。本地執行正常,上線環境報錯,報錯資訊缺少某列。仔細一看,where 條件的列別名是大寫的,表別名是小寫。大概就是這個意思 select aaa from b where b.aaa = '1' 。心想,mysql不是不區分大小寫嗎。難道上線環境是區分的,一查還真是。。於是修改了一下,在此提供給大家修改方式。
檢視mysql是否開啟了區分大小寫。
show variables like '%case_table%';
lower_case_table_names=1(說明是不區分大小寫的)
lower_case_table_names=0(如上圖為0說明區分大小寫的)
linux下修改
進入etc下面
cd /etc/
編輯my.cnf檔案
vi my.cnf
最後一行加上下面一句
lower_case_table_names=1
重啟mysql:
service mysql restart
windows下修改
到安裝mysql的目錄,修改my.ini檔案
在檔案最後一行加上下面一句話
lower_case_table_names=1
重啟mysql。 Linux下設定mysql表名與列名不區分大小寫
1 資料庫名與表名是嚴格區分大小寫的 2 表的別名是嚴格區分大小寫的 3 列名與列的別名在所有的情況下均是忽略大小寫的 4 變數名也是嚴格區分大小寫的 全部不區分大小寫 1.在 etc my.cnf中的 mysqld 後新增新增lower case table names 1,0 區分大小寫,1 不...
MySQL 在Linux下設定MySQL區分大小寫
mysql在linux下資料庫名 表名 列名 別名大小寫規則 1 資料庫名與表名是嚴格區分大小寫 2 表的別名是嚴格區分大小寫 3 列名與列的別名在所有的情況下均是忽略大小寫的 4 變數名也是嚴格區分大小寫的 注意 a linux下mysql安裝完後預設 區分表名的大小寫,不區分列名的大小寫 b 改...
Linux下設定mysql不區分大小寫
一 通過命令檢視mysql是否是區分大小寫的 show variables like case table lower case table names 1 說明是不區分大小寫的 lower case table names 0 如上圖為0說明區分大小寫的 二 修改lower case table ...