首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 修改配置啟用大小寫敏感:lower_case_table_names 參數設定

     編輯:MySQL 資料庫相關知識

參數說明

值行為
0儲存保留大小寫,比較**敏感**(Linux 預設)
1儲存轉小寫,比較**不敏感**(Windows 預設)
2儲存保留大小寫,比較轉小寫

修改步驟

  1. 編輯 my.ini(Windows)或 my.cnf(Linux)。
  2. 在 [mysqld] 區段新增:
    lower_case_table_names=0
  3. 重啟 MySQL 服務:
    Windows: net stop mysql && net start mysql
    Linux: systemctl restart mysqld

遷移既有資料庫的關鍵步驟

若原庫有大寫表名,直接改參數重啟會導致**找不到表**。必須先轉小寫:


-- 產生重命名腳本
SELECT CONCAT('RENAME TABLE `', TABLE_SCHEMA, '`.`', TABLE_NAME, '` TO `', LOWER(TABLE_NAME), '`;')
FROM information_schema.TABLES
WHERE TABLE_SCHEMA='your_db' AND TABLE_NAME != LOWER(TABLE_NAME);

-- 執行輸出的 RENAME 陳述式
-- 然後修改參數重啟

驗證


SHOW VARIABLES LIKE 'lower_case_table_names';
CREATE TABLE TestCase (id INT);
SHOW TABLES;  -- 應顯示 testcase
SELECT * FROM TestCase;  -- 0 時報錯,1 時正常
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved