今天遇到一個賊坑的事情,某個功能在各個地區,都沒問題,唯獨在某市出現了問題,刪除刪不了,查詢查不了!
後來發現竟然是mysql對錶名大小寫敏感,日了狗了,windows默認對大小寫不敏感的啊!
於是趕緊去檢查下lower_case_table_names值,果然,他被設爲了lower_case_table_names=0。
如何檢測lower_case_table_names?
1、執行如下SQL:show variables like '%lower_case_table_names%';
2、如果爲0,打開my.ini文件(my.ini文件在mysql安裝目錄,例如我的是:C:\ProgramData\MySQL\MySQL Server 5.6\my.ini)
搜索lower_case_table_names,將其改爲lower_case_table_names=1
3、重啓數據庫
PS:
lower_case_table_names=0 表示對錶名大小寫敏感
lower_case_table_names=1 表示對大小寫不敏感
windows默認爲1。
拓展下:
LINUX:
一、編輯配置文件
vi /etc/my.cnf
在[mysqld]下面添加lower_case_table_names=1
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
lower_case_table_names=1
二、重新啓動數據庫
systemctl restart mariadb
修改後,啓動遇到問題,可參考如下文章:
https://blog.csdn.net/guanghuichenshao/article/details/86158737