可以設置的
在MySQL
中,資料庫和表對就於那些目錄下的目錄和文件。因而,操作系統的敏感性決定資料庫和表命名的大小寫敏感。這就意味著資料庫和表名在
Windows
中是大小寫不敏感的,而在大多數類型的
Unix
系統中是大小寫敏感的。
奇怪的是列名與列的別名在所有的情況下均是忽略大小寫的,而表的別名又是區分大小寫的。
要避免這個問題,你最好在定義資料庫命名規則的時候就全部採用小寫字母加下劃線的組合,而不使用任何的大寫字母。
或者也可以強制以
-O
lower_case_table_names=1
參數啟動
mysqld(如果使用
--defaults-file=...\my.cnf
參數來讀取指定的配置文件啟動
mysqld
的話,你需要在配置文件的
[mysqld]
區段下增加一行
lower_case_table_names=1)。這樣MySQL
將在創建與查找時將所有的表名自動轉換為小寫字元(這個選項預設地在
Windows
中為
1
,在
Unix
中為
0。從
MySQL
4.0.2
開始,這個選項同樣適用於資料庫名)。
當你更改這個選項時,你必須在啟動
mysqld
前首先將老的表名轉換為小寫字母。
⑵ mysql資料庫表名區分大小寫
使用mysql的時候,創建的表明都是大寫的,但是查詢語句中表明用消息就會報錯,表不存在。
查詢後發現mysql默認配置是表明區分大小寫的,如果要修改成不區分大小寫,需要修改一下配置。
⑶ mysql區分表名區分大小寫嗎
用root帳號登錄後,在/etc/my.cnf 中的[mysqld]後添加添加lower_case_table_names=1,重啟MYSQL服務,這時已設置成功:不區分表名的大小寫;
lower_case_table_names參數詳解:
lower_case_table_names = 0
其中0:區分大小寫,1:不區分大小寫
MySQL在Linux下資料庫名、表名、列名、別名大小寫規則是這樣的:
1、資料庫名與表名是嚴格區分大小寫的;
2、表的別名是嚴格區分大小寫的;
3、列名與列的別名在所有的情況下均是忽略大小寫的;
4、變數名也是嚴格區分大小寫的;
MySQL在Windows下都不區分大小寫。
3、如果想在查詢時區分欄位值的大小寫,則:欄位值需要設置BINARY屬性,設置的方法有多種:
A、創建時設置:
CREATE TABLE T(
A VARCHAR(10) BINARY);B、使用alter修改