聲明
轉自:MySQL數據庫”mysql SQL Error:1146,SQLState:42S02 “解決方法
正文
項目在開發的時候在Mac平台下開發的,開發完了之后在LINUX環境上部署好之后,運行時MySQL數據庫報錯,提示為某個表不存在之類的錯誤信息,后來修改了MySQL的配置文件將大小寫敏感去掉,問題解決。
這個問題的根源在於,在 MySQL 中,數據庫和表其實就是數據目錄下的目錄和文件,因而,操作系統的敏感性決定數據庫和表命名的大小寫敏感。這就意味着數據庫和表名在 Windows 中是大小寫不敏感的,而在大多數類型的 Unix/Linux 系統中是大小寫敏感的。
MySQL大小寫敏感可以通過配置文件的lower_case_table_names參數來控制。
WINDOWS系統下:
編輯MySQL安裝目錄下的my.ini 文件,在[mysqld]節下 添加 lower_case_table_names=0 (備注:為0時大小寫敏感,為1時大小寫不敏感,默認為1),可以實現MySql按照建表Sql語句的大小寫狀態來定義表名。
LINUX系統下:
編輯/etc/my.cnf文件(提示:如果沒有可以用 find /usr -name my.cnf查找),在[mysqld]節下 添加 lower_case_table_names=1 參數,並設置相應的值 (備注:為0時大小寫敏感,為1時大小寫不敏感,默認為0)。
碼字很辛苦,轉載請注明來自
蘿莉部落的
《MySQL數據庫”mysql SQL Error:1146,SQLState:42S02 “解決方法》