zoukankan      html  css  js  c++  java
  • MySQL查询时强制区分大写和小写

    版权声明:本文为博主原创文章,未经博主同意不得转载。

    https://blog.csdn.net/zyb_icanplay7/article/details/24981791

    平时非常少会考虑数据存储须要明白字符串类型字段的大写和小写,MySQL默认的查询也不区分大写和小写。但作为用户信息。一旦username反复,又会浪费非常多资源。再者,李逵、李鬼的多起来。侦辨起来非常困难。

    要做到这一点,要么在建表时。明白大写和小写敏感(字段明白大写和小写敏感)。

    假设通盘数据库全部字段都须要大写和小写敏感。不如在字符集设置时做好调整。只是,通常不建议这么做。
     
    假设跟我一样。数据库已经在线上跑了,一个表上百万条数据。做字段类型变更有可能导致数据库宕机。

    那么好吧,在查询时,多加个单词好了。
    比如,一般查询:

    SELECT * FROM `user` WHERE name LIKE 'a%';  
    SELECT * FROM `user` WHERE name LIKE 'A%';  
    其结果是一样的,为了区分'A%'和'a%'。能够这么做:
     
    SELECT * FROM `user` WHERE binary name LIKE 'a%';  
    SELECT * FROM `user` WHERE binary name LIKE 'A%';  
    只多了一个binary,就能够得到不同的结果。
     
    当然,假设须要建表时强制区分大写和小写,能够这么写:
    create  table  `user`(    
         name varchar (20) binary      
    ); 
  • 相关阅读:
    PHP openssl_encrypt函数安全漏洞
    WordPress Organizer插件安全漏洞
    WordPress Poll插件多个SQL注入和安全绕过漏洞
    Redis 重写任意文件漏洞
    WordPress Events Manager插件多个跨站脚本漏洞
    项目建议书编写总结
    www.beihua.edu.cn计划摘录
    《易经》对中华文化的影响
    网站调研资料记录
    积分和排名
  • 原文地址:https://www.cnblogs.com/mqxnongmin/p/10570973.html
Copyright © 2011-2022 走看看