MySQL表名大小寫的問題

2021-09-01 13:45:57 字數 613 閱讀 3847

【問題現象】

在windows系統中,有乙個mysql資料庫要遷移到linux系統中。在linux系統中安裝好了mysql之後,使用預設配置可以啟動資料庫。把windows系統中的mysql資料庫匯入之後,發現應用程式讀取不到資料,找不到表。使用show tables命令檢視,發現在windows系統中,表名為全小寫;在linux系統中,表名區分大小寫。

【問題原因】

mysql在linux下資料庫名、表名、列名、別名大小寫規則是這樣的: 

1、資料庫名與表名是嚴格區分大小寫的; 

2、表的別名是嚴格區分大小寫的; 

3、列名與列的別名在所有的情況下均是忽略大小寫的; 

4、變數名也是嚴格區分大小寫的; 

mysql在windows下都不區分大小寫。

【解決方案】

用root帳號登入後,在/etc/my.cnf 中的[mysqld]後新增新增lower_case_table_names=1,重啟mysql服務,這時已設定成功:不區分表名的大小寫; 

lower_case_table_names引數詳解: 

lower_case_table_names = 1

其中 0:區分大小寫,1:不區分大小寫。

MySQL 表名大小寫問題

資料庫名與表名的規則相同 列名 索引 儲存過程 觸發器名在任何平台都不區分大小寫。檢視資料庫大小寫敏感設定 show variables like lower case table names 取值及含義 0 表名按照指定的大小寫儲存,查詢的時候區分大小寫 1 表名儲存小寫,查詢的時候都轉成小寫查詢...

MySql表名的大小寫問題

mysql在linux下資料庫名 表名 列名 別名大小寫規則是這樣的 1 資料庫名與表名是嚴格區分大小寫的 2 表的別名是嚴格區分大小寫的 3 列名與列的別名在所有的情況下均是忽略大小寫的 4 變數名也是嚴格區分大小寫的 mysql在windows下都不區分大小寫。所以在不同作業系統中為了能使程式和...

mysql 表名大小寫敏感問題

已有表 user select from user 可以查出來 select from user 報user不存在 這在一些orm框架裡可能會產生問題,比如預設使用大寫的表名,導致找不到表或者報錯 mysql表名大小寫再linux環境預設為敏感的 show variables like lower ...