linux下設置mysql不區分大小寫


背景

今天准備上線的環境,往服務器上布服務,某個功能查詢報錯,覺得很奇怪,環境一樣,代碼一樣,數據一樣,為何呢,看了一眼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。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM