久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

如何解決MySQL數據庫大小寫敏感的問題

138次閱讀
沒有評論

共計 1397 個字符,預計需要花費 4 分鐘才能閱讀完成。

丸趣 TV 小編給大家分享一下如何解決 MySQL 數據庫大小寫敏感的問題,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

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

在 windows 下表名不區分大小寫,所以在導入數據后,有可能所有表名均為小寫,而再從 win 導入 linux 后,在調用時就容易出現大小寫的問題。例如:

第一點:程序調用表名為:codetc_Web;

第二點:導入 win 后變為 codetc_web;

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

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

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

lower_case_table_names=1

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

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

lower_case_table_names 參數詳解:

lower_case_table_names = 0 或 1

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

MySQL 在 Linux 下數據庫名、表名、列名、別名大小寫規則是這樣的:

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

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

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

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

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

(1)創建時設置:

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

(2)使用 alter 修改:

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

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

要讓 mysql 查詢區分大小寫,可以:

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
)

以上是“如何解決 MySQL 數據庫大小寫敏感的問題”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注丸趣 TV 行業資訊頻道!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-04發表,共計1397字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 潮州市| 贵州省| 兴山县| 墨脱县| 永登县| 兰考县| 陈巴尔虎旗| 封丘县| 花垣县| 临高县| 缙云县| 临沭县| 兴安县| 闽清县| 淮北市| 保山市| 长汀县| 华坪县| 浦东新区| 沽源县| 顺义区| 木里| 铜川市| 凌海市| 嵊泗县| 西峡县| 万州区| 井冈山市| 泸州市| 建始县| 辽源市| 庆元县| 滨州市| 黄骅市| 毕节市| 辉县市| 惠安县| 巫溪县| 道孚县| 邻水| 政和县|