小編給大家分享一下如何解決數據庫大小寫(xiě)敏感的問(wèn)題,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
在MySQL中,數據庫對應數據目錄中的目錄。數據庫中的每個(gè)表至少對應數據庫目錄中的一個(gè)文件(也可能是多個(gè),取決于存儲引擎)。因此,所使用操作系統的大小寫(xiě)敏感性決定了數據庫名和表名的大小寫(xiě)敏感性。這說(shuō)明在大多數Unix中數據庫名和表名對大小寫(xiě)敏感,而在Windows中對大小寫(xiě)不敏感。 一個(gè)顯著(zhù)的例外情況是Mac OS X,它基于Unix但使用默認文件系統類(lèi)型(HFS+),對大小寫(xiě)不敏感。
在windows下表名不區分大小寫(xiě),所以在導入數據后,有可能所有表名均為小寫(xiě),而再從win導入linux后,在調用時(shí)就容易出現大小寫(xiě)的問(wèn)題。例如:
第一點(diǎn):程序調用表名為:codetc_Web;
第二點(diǎn):導入win后變?yōu)閏odetc_web;
第三點(diǎn):再導入linux后也是codetc_web,此時(shí)linux會(huì )區分表名的大小寫(xiě),則導致該表無(wú)法讀取。
在linux下mysql表名大小寫(xiě)問(wèn)題解決方法:
修改my.cnf,一般位于:/etc/my.cnf,在該文件中找到[mysqld]節下加入如下語(yǔ)句(注意如果已經(jīng)存在該語(yǔ)句,請將值改為1即可):
lower_case_table_names=1
1、Linux下mysql安裝完后是默認:區分表名的大小寫(xiě),不區分列名的大小寫(xiě);
2、用root帳號登錄后,在/etc/my.cnf 中的[mysqld]后添加添加lower_case_table_names=1
,重啟MYSQL服務(wù),這時(shí)已設置成功:不區分表名的大小寫(xiě);
lower_case_table_names 參數詳解:
lower_case_table_names = 0或1
其中 0:區分大小寫(xiě),1:不區分大小寫(xiě)
MySQL在Linux下數據庫名、表名、列名、別名大小寫(xiě)規則是這樣的:
1、數據庫名與表名是嚴格區分大小寫(xiě)的;
2、表的別名是嚴格區分大小寫(xiě)的;
3、列名與列的別名在所有的情況下均是忽略大小寫(xiě)的;
4、變量名也是嚴格區分大小寫(xiě)的;
MySQL在Windows下都不區分大小寫(xiě)的,如果需要在查詢(xún)時(shí)區分字段值的大小寫(xiě),則需要將查詢(xún)字段值需要設置BINARY屬性,設置的方法有如下幾種方法:
(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查詢(xún)區分大小寫(xiě),可以:
select * from table_name where binary a like 'a%' select * from table_name where binary a like 'A%'
也可以在建表時(shí),加以標識
create table table_name( a varchar (20) binary )
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站