主頁 > 知識庫 > MySQL數(shù)據(jù)庫大小寫敏感的問題

MySQL數(shù)據(jù)庫大小寫敏感的問題

熱門標簽:南昌高頻外呼系統(tǒng)哪家公司做的好 昆明電信400電話辦理 電話機器人市場趨勢 淄博400電話申請 電銷機器人各個細節(jié)介紹 百度地圖標注后不顯示 電銷機器人 行業(yè) 溫州瑞安400電話怎么申請 俄國地圖標注app

在MySQL中,數(shù)據(jù)庫對應(yīng)數(shù)據(jù)目錄中的目錄。數(shù)據(jù)庫中的每個表至少對應(yīng)數(shù)據(jù)庫目錄中的一個文件(也可能是多個,取決于存儲引擎)。因此,所使用操作系統(tǒng)的大小寫敏感性決定了數(shù)據(jù)庫名和表名的大小寫敏感性。這說明在大多數(shù)Unix中數(shù)據(jù)庫名和表名對大小寫敏感,而在Windows中對大小寫不敏感。 一個顯著的例外情況是Mac OS X,它基于Unix但使用默認文件系統(tǒng)類型(HFS+),對大小寫不敏感。

在windows下表名不區(qū)分大小寫,所以在導(dǎo)入數(shù)據(jù)后,有可能所有表名均為小寫,而再從win導(dǎo)入linux后,在調(diào)用時就容易出現(xiàn)大小寫的問題。例如:

第一點:程序調(diào)用表名為:codetc_Web;

第二點:導(dǎo)入win后變?yōu)閏odetc_web;

第三點:再導(dǎo)入linux后也是codetc_web,此時linux會區(qū)分表名的大小寫,則導(dǎo)致該表無法讀取。

在linux下mysql表名大小寫問題解決方法:

修改my.cnf,一般位于:/etc/my.cnf,在該文件中找到[mysqld]節(jié)下加入如下語句(注意如果已經(jīng)存在該語句,請將值改為1即可):

lower_case_table_names=1

1、Linux下mysql安裝完后是默認:區(qū)分表名的大小寫,不區(qū)分列名的大小寫;

2、用root帳號登錄后,在/etc/my.cnf 中的[mysqld]后添加添加lower_case_table_names=1,重啟MYSQL服務(wù),這時已設(shè)置成功:不區(qū)分表名的大小寫;

lower_case_table_names 參數(shù)詳解:

lower_case_table_names = 0或1

其中 0:區(qū)分大小寫,1:不區(qū)分大小寫

MySQL在Linux下數(shù)據(jù)庫名、表名、列名、別名大小寫規(guī)則是這樣的:

1、數(shù)據(jù)庫名與表名是嚴格區(qū)分大小寫的;

2、表的別名是嚴格區(qū)分大小寫的;

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

4、變量名也是嚴格區(qū)分大小寫的;

MySQL在Windows下都不區(qū)分大小寫的,如果需要在查詢時區(qū)分字段值的大小寫,則需要將查詢字段值需要設(shè)置BINARY屬性,設(shè)置的方法有如下幾種方法:

(1)創(chuàng)建時設(shè)置:

CREATE TABLE T(A VARCHAR(10) BINARY);

(2)使用alter修改:

ALTER TABLE `tablename` MODIFY COLUMN `cloname` VARCHAR(45) BINARY;

(3)mysql table editor中直接勾選BINARY項。

要讓mysql查詢區(qū)分大小寫,可以:

select * from table_name where binary a like 'a%'  
select * from table_name where binary a like 'A%'  

也可以在建表時,加以標識

create table table_name( 
   a varchar (20) binary
) 

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接

您可能感興趣的文章:
  • MySQL大小寫敏感的注意事項
  • MySQL 字符類型大小寫敏感
  • mysql如何設(shè)置不區(qū)分大小寫
  • MySQL大小寫敏感導(dǎo)致的問題分析
  • 解決MySQl查詢不區(qū)分大小寫的方法講解
  • mysql表名忽略大小寫配置方法詳解
  • Linux系統(tǒng)MySQL忘記密碼,重置密碼,忽略表名、列名大小寫的方法
  • 詳解MySQL查詢時區(qū)分字符串中字母大小寫的方法
  • MySql查詢不區(qū)分大小寫解決方案(兩種)
  • MySQL庫表名大小寫的選擇

標簽:嘉峪關(guān) 拉薩 吐魯番 葫蘆島 安徽 ???/a> 洛陽 甘南

巨人網(wǎng)絡(luò)通訊聲明:本文標題《MySQL數(shù)據(jù)庫大小寫敏感的問題》,本文關(guān)鍵詞  MySQL,數(shù)據(jù)庫,大小寫,敏感,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《MySQL數(shù)據(jù)庫大小寫敏感的問題》相關(guān)的同類信息!
  • 本頁收集關(guān)于MySQL數(shù)據(jù)庫大小寫敏感的問題的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章