MySQL內容不區分大小寫?
阿新 • • 發佈:2020-11-23
場景
資料庫儲存的varchar型別字串查詢時不區分大小寫。
簡而言之: 通過 show variables like 'lower_case_table_names'
檢視值, 0代表嚴格區分, 1代表不區分,
通過修改mysql的配置my.cnf
檔案更改然後重啟,即可達到預期的效果。
1、mysql預設情況下bai是否區分大小寫,使用dushow Variables like '%table_names’檢視lower_case_table_names的值,0代表區分,1代表不區分。
2、zhimysql對於型別為daovarchar資料預設不區分大小寫,但如果該欄位以“*_bin”編碼的話會使mysql對其區分大小寫。
3、mysql對於欄位名的策略與varchar型別資料相同。即:預設不區分大小寫,但如果該欄位是以“*_bin”編碼的話會使mysql對其區分大小寫。
4、mysql對於表名的策略與varchar型別資料相同。即:預設不區分大小寫,但如果該表是以“*_bin”編碼的話會使mysql對其區分大小寫。
5、如果按照第一項檢視lower_case_table_names的值為0,但需要讓mysql預設不區分大小寫的話,需要在mysql配置檔案中新增引數並重啟mysql資料庫。mysql配置檔案的修改內容如下:
[mysqld]
…
lower_case_table_names = 1
6、注意:表和欄位的編碼儘量繼承資料庫的編碼(不明顯指定即繼承),以免引起混亂。
讓MYSQL不區分表名大小寫的方法其實很簡單:
1.用ROOT登入,修改/etc/my.cnf
2.在[mysqld]下加入一行:lower_case_table_names=1