mysql查询时强制区分大小写
轉(zhuǎn)載自:http://snowolf.iteye.com/blog/1681944
平時(shí)很少會(huì)考慮數(shù)據(jù)存儲(chǔ)需要明確字符串類型字段的大小寫(xiě),MySQL默認(rèn)的查詢也不區(qū)分大小寫(xiě)。但作為用戶信息,一旦用戶名重復(fù),又會(huì)浪費(fèi)很多資源。再者,李逵、李鬼的多起來(lái),偵辨起來(lái)很困難。要做到這一點(diǎn),要么在建表時(shí),明確大小寫(xiě)敏感(字段明確大小寫(xiě)敏感)。如果通盤(pán)數(shù)據(jù)庫(kù)所有字段都需要大小寫(xiě)敏感,不如在字符集設(shè)置時(shí)做好調(diào)整。不過(guò),通常不建議這么做。
?
如果跟我一樣,數(shù)據(jù)庫(kù)已經(jīng)在線上跑了,一個(gè)表上百萬(wàn)條數(shù)據(jù),做字段類型變更有可能導(dǎo)致數(shù)據(jù)庫(kù)宕機(jī)。那么好吧,在查詢時(shí),多加個(gè)單詞好了!
?
例如,一般查詢:
SELECT * FROM U WHERE name LIKE 'a%'; SELECT * FROM U WHERE name LIKE 'A%';其結(jié)果是一樣的,為了區(qū)分'A%'和'a%',可以這么做:
SELECT * FROM U WHERE binary name LIKE 'a%'; SELECT * FROM U WHERE binary name LIKE 'A%';僅僅多了一個(gè)binary,就可以得到不同的結(jié)果!
?
當(dāng)然,如果需要建表時(shí)強(qiáng)制區(qū)分大小寫(xiě),可以這么寫(xiě):
?
create table table_name( name varchar (20) binary );就這么簡(jiǎn)單!
轉(zhuǎn)載于:https://www.cnblogs.com/zrui-xyu/p/6047665.html
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的mysql查询时强制区分大小写的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 全方面了解和学习PHP框架 PHP培训教
- 下一篇: 单词缩写(abbr.cpp)每日一题