MySQL 查詢時強制區分大小寫

平時很少會考慮數據存儲需要明確字符串類型字段的大小寫,mysql默認的查詢也不區分大小寫。但作為用戶信息,一旦用戶名重復,又會浪費很多資源。再者,李逵、李鬼的多起來,偵辨起來很困難。要做到這一點,要么在建表時,明確大小寫敏感(字段明確大小寫敏感

平時很少會考慮數據存儲需要明確字符串類型字段的大小寫,MySQL默認的查詢也不區分大小寫。但作為用戶信息,一旦用戶名重復,又會浪費很多資源。再者,李逵、李鬼的多起來,偵辨起來很困難。要做到這一點,要么在建表時,明確大小寫敏感(字段明確大小寫敏感)。如果通盤數據庫所有字段都需要大小寫敏感,不如在字符集設置時做好調整。不過,通常不建議這么做。

如果跟我一樣,數據庫已經在線上跑了,一個表上百萬條數據,做字段類型變更有可能導致數據庫宕機。那么好吧,在查詢時,多加個單詞好了!

例如,一般查詢:

1.SELECT * FROM U WHERE name LIKE ‘a%’;??
2.SELECT * FROM U WHERE name LIKE ‘A%’;? 其結果是一樣的,為了區分’A%’和’a%’,可以這么做:

1.SELECT * FROM U WHERE binary name LIKE ‘a%’;??
2.SELECT * FROM U WHERE binary name LIKE ‘A%’;? 僅僅多了一個binary,就可以得到不同的結果!

當然,如果需要建表時強制區分大小寫,可以這么寫:

1.create? table? table_name(????
2.???? name varchar (20) binary?????? 3.);?
就這么簡單!

? 版權聲明
THE END
喜歡就支持一下吧
點贊7 分享