MySql查詢不辨別年夜小寫處理計劃(兩種)。本站提示廣大學習愛好者:(MySql查詢不辨別年夜小寫處理計劃(兩種))文章只能為提供參考,不一定能成為您想要的結果。以下是MySql查詢不辨別年夜小寫處理計劃(兩種)正文
當我們輸出不論年夜小寫都能查詢到數據,例如:輸出 aaa 或許aaA ,AAA都能查詢異樣的成果,解釋查詢前提對年夜小寫不敏感。
處理計劃一:
因而疑惑Mysql的成績。做個試驗:直接應用客戶端用sql查詢數據庫。 發明切實其實是年夜小不敏感 。
經由過程查詢材料發明須要設置collate(校訂) 。 collate規矩:
*_bin: 表現的是binary case sensitive collation,也就是說是辨別年夜小寫的
*_cs: case sensitive collation,辨別年夜小寫
*_ci: case insensitive collation,不辨別年夜小寫
處理辦法。
1.可以將查詢前提用binary()括起來。 好比:
select * from TableA where binary columnA ='aaa';
2. 可以修正該字段的collation 為 binary
好比:
ALTER TABLE TABLENAME MODIFY COLUMN COLUMNNAME VARCHAR(50) BINARY CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL;
處理計劃二:
mysql查詢默許是不辨別年夜小寫的 如:
select * from some_table where str=‘abc'; select * from some_table where str='ABC';
獲得的成果是一樣的,假如我們須要停止辨別的話可以依照以下辦法來做:
第一種辦法:
要讓mysql查詢辨別年夜小寫,可以:
select * from some_table where binary str='abc' select * from some_table where binary str='ABC'
第二辦法:
在建表不時候加以標識
create table some_table( str char(20) binary )
道理:
關於CHAR、VARCHAR和TEXT類型,BINARY屬性可認為列分派該列字符集的 校訂規矩。BINARY屬性是指定列字符集的二元 校訂規矩的簡寫。排序和比擬基於數值字符值。是以也就天然辨別了年夜小寫。
以上經由過程兩種計劃處理了MySql查詢不辨別年夜小寫的成績,願望對年夜家有所贊助,更多有mysql數據查訊問題,請登錄本站進修。