今天準備上線的環境,往服務器上布服務,某個功能查詢報錯,以爲很奇怪,環境同樣,代碼同樣,數據同樣,爲什麼呢,看了一眼sql。本地運行正常,上線環境報錯,報錯信息缺乏某列。仔細一看,where 條件的列別名是大寫的,表別名是小寫。大概就是這個意思 select aaa from b where B.aaa = '1' 。心想,mysql不是不區分大小寫嗎。難道上線環境是區分的,一查還真是。。因而修改了一下,在此提供給你們修改方式。mysql
查看mysql是否開啓了區分大小寫。linux
show variables like '%case_table%';
lower_case_table_names=1(說明是不區分大小寫的)
lower_case_table_names=0(如上圖爲0說明區分大小寫的)sql
進入etc下面windows
cd /etc/
編輯my.cnf文件服務器
vi my.cnf
最後一行加上下面一句rest
lower_case_table_names=1
重啓mysql:code
service mysql restart
到安裝mysql的目錄,修改my.ini文件
在文件最後一行加上下面一句話table
lower_case_table_names=1
重啓mysql。select