linux下設置mysql不區分大小寫

背景

今天準備上線的環境,往服務器上布服務,某個功能查詢報錯,以爲很奇怪,環境同樣,代碼同樣,數據同樣,爲什麼呢,看了一眼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

linux下修改

進入etc下面windows

cd /etc/

編輯my.cnf文件服務器

vi my.cnf

最後一行加上下面一句rest

lower_case_table_names=1

重啓mysql:code

service mysql restart

windows下修改

到安裝mysql的目錄,修改my.ini文件
在文件最後一行加上下面一句話table

lower_case_table_names=1

重啓mysql。select

相關文章
相關標籤/搜索