在 Windows 環境下,MySQL 預設不區分資料表名稱的大小寫(即 lower_case_table_names=1)。若需讓資料表名稱嚴格區分大小寫(對應 Linux 行為),需修改設定檔並重啟服務。
my.ini 設定檔(通常位於 C:\ProgramData\MySQL\MySQL Server x.x\my.ini 或安裝目錄根目錄)。[mysqld] 區段下新增或修改以下參數:lower_case_table_names = 0net stop mysqlnet start mysql| 值 | 行為 | 適用平台 |
|---|---|---|
| 0 | 資料表名稱儲存為指定大小寫,比對時區分大小寫 | Linux / Unix(預設) |
| 1 | 資料表名稱儲存為小寫,比對時不區分大小寫 | Windows / macOS(預設) |
| 2 | 資料表名稱儲存為指定大小寫,但比對時轉為小寫 | macOS |
1 模式下建立表,改為 0 後可能導致既有查詢失效(大小寫不匹配)。建議在全新安裝或匯入資料前設定。0,避免上線後大小寫問題。