讓MySQL忽略SQL語法中大小寫的方法

有個專案原本是用MS-SQL當DB,後轉到Linux的MySQL上,結果轉換的過程中一個沒注意,所有的table名稱全變成了小寫。偏偏MySQL的table name就是file name,而在Linux上file name是case sensitive的,結果所有程式中的SQL語法全部陣亡。

在已無法重轉DB的情況下,只好使用更改MySQL設定的方式。只要找到MySQL的設定檔(Linux的話通常是在 /etc/my.cnf 這個位置,如果沒有的話請先copy一份預設的設定檔過去),然後在當中加上如下一行設定即大功告成,之後MySQL都會自動忽略所有的SQL語法中大小寫的差別囉!

lower_case_table_names = 1

作者: yanni

14, Feb 1977

發表迴響