MySQL 查詢時強制區分大小寫

來源:互聯網
上載者:User

平時很少會考慮資料存放區需要明確字串類型欄位的大小寫,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. );  

就這麼簡單!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.