mysql建表時(shí)強(qiáng)制區(qū)分大小寫怎么寫?
平時(shí)很少會考慮數(shù)據(jù)存儲需要明確字符串類型字段的大小寫,MySQL默認(rèn)的查詢也不區(qū)分大小寫。但作為用戶信息,一旦用戶名重復(fù),又會浪費(fèi)很多資源。再者,李逵、李鬼的多起來,偵辨起來很困難。要做到這一點(diǎn),要么在建表時(shí),明確大小寫敏感(字段明確大小寫敏感)。如果通盤數(shù)據(jù)庫所有字段都需要大小寫敏感,不如在字符集設(shè)置時(shí)做好調(diào)整。不過,通常不建議這么做。
如果跟我一樣,數(shù)據(jù)庫已經(jīng)在線上跑了,一個(gè)表上百萬條數(shù)據(jù),做字段類型變更有可能導(dǎo)致數(shù)據(jù)庫宕機(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ū)分大小寫,可以這么寫:
create table table_name(
name varchar (20) binary
);
就這么簡單!
關(guān)鍵詞:mysql
閱讀本文后您有什么感想? 已有 人給出評價(jià)!
- 0
- 0
- 0
- 0
- 0
- 0