2019独角兽企业重金招聘Python工程师标准>>>

问题描述:

找出用户名id为’AAMkADExM2M5NjQ2LWUzYzctNDFkMC1h‘的用户的数据: select * from usertable where id = 'AAMkADExM2M5NjQ2LWUzYzctNDFkMC1h'; 结果出现两条记录。这就奇怪了,id已经设置为主键,怎么会重复呢?难道是mysql的漏洞。后来发现原来查询出来的两个id的值是不同的,诈一看没什么区别,仔细看你会发现这两个id只是有一个字母的大小写不同, 这两个id分别为:

'AAMkADExM2M5NjQ2LWUzYzctNdFkMC1h',

'AAMkADExM2M5NjQ2LWUzYzctNDFkMC1h'.
原来mysql查询时,存在不区分大小写的情况。可以通过binary关键字加以解决。

解决方法有两种:

第一种:让mysql查询时区分大小写

select * from usertable where binary id = 'AAMkADExM2M5NjQ2LWUzYzctNDFkMC1h';

第二种:在建表时加以标识

create table table_name {

id varchar(32) binary;

}

在mysql中,存在大小写问题的地方还有:

(1) 关键字: 不区分大小写 select * fRom table_name 和 select * from table_name 效果是一样的
(2) 标示符(如数据库名称和表名称):不区分大小写。如存在表users,那么select * from users和select * from uSers 效果一样。网上说这跟操作系统有关,在所有Unit操作系统(除了使用HFS+的Mac OS 之外)上都是区分大小写的,而在windows上是不区分大小写的。(网上的这一说法没有验证过,我在windows server2003上是不区分大小写的)
(3) 表的别名:不区分大小写 select m.* from users m where M.username = 'aa';
(4) 列的别名:不区分大小写 select uName from (select username as uname from users where id = 768) ;

转载于:https://my.oschina.net/u/232595/blog/1359407

MySQL查询区分大小写相关推荐

  1. php mysql 查询 区分大小写_MySQL查询字符串时区分大小写

    MySQL在查询字符串时是大小写不敏感的,在编绎MySQL时一般以ISO-8859字符集作为默认的字符集,这个字符集对大小写不敏感,因此在比较过程中中文编码字符大小写转换造成了这种现象. 方法一: 解 ...

  2. Mysql 查询区分大小写的两种方法

    oracle中查询默认是区分大小写的,但是在mysql中默认不区分大小写. 解决办法: mysql可以在SQL语句中加入 binary来区分大小写.BINARY不是函数,是类型转换运算符,它用来强制它 ...

  3. mysql select 区分大小写,MySql查询不区分大小写解决方案(两种)

    当我们输入不管大小写都能查询到数据,例如:输入 aaa 或者aaA ,AAA都能查询同样的结果,说明查询条件对大小写不敏感. 解决方案一: 于是怀疑Mysql的问题.做个实验:直接使用客户端用sql查 ...

  4. mysql 查询两表 两列 比较大小写_mysql 查询表中列的数据不区分大小写的解决

    mysql查询默认是不区分大小写的 如: select * from some_table where str='abc'; select * from some_table where str='A ...

  5. mysql 严格区分大小写_Mysql查询英文如何严格区分大小写?

    1. 前提: 在Mysql数据库中进行查询时,希望英文严格区分大小写.默认情况下是不区分大小写的. 2. 演示如下: 在数据库表emp中,job字段中存储的值有'Engineer',现在的情况是,下面 ...

  6. mysql字符串区分大小写么_mysql字符串区分大小写的问题-阿里云开发者社区

    一. 1. CREATE TABLE NAME(name VARCHAR(10)); 对这个表,缺省情况下,下面两个查询的结果是一样的: SELECT * FROM TABLE NAME WHERE ...

  7. mysql字符串区分大小写的问题

    一. 1. CREATE TABLE NAME(name VARCHAR(10)); 对这个表,缺省情况下,下面两个查询的结果是一样的: SELECT * FROM TABLE NAME WHERE ...

  8. mysql排序区分大小写吗_MySQL的order by时区分大小写

    Mysql 查询区分大小写 mysql查询默认是不区分大小写的 如: select * from some_table where str='abc'; select * from some_tabl ...

  9. MySQL查询字段区不区分大小写? innodb的事务与日志的实现方式?binlog的几种日志录入格式以及区别?

    MySQL查询字段区不区分大小写? MySQL innodb的事务与日志的实现方式 MySQL binlog的几种日志录入格式以及区别 MySQL查询字段区不区分大小写? 答案是不区分 如何解决需要区 ...

最新文章

  1. Python:urllib2模块Handler处理器 和 自定义Opener
  2. 美国独步世界的八大领域
  3. oracle实时监控触发邮件,利用EasySQLMAIL实现数据库订单监控和邮件发送
  4. Windows Mobile 开发环境搭建(1)
  5. [C#]关于override和new在重写方法时的区别
  6. 停止FMS3.5的Apache服务
  7. 【Linux】一步一步学Linux——dpkg-deb命令(270)
  8. mvc EF 从数据库更新实体,添加视图实体时添加不上的问题
  9. ENVI修复图像坏点扩展补丁
  10. 两个子集pom互相调用_声明式服务调用组件Feign
  11. js判断ipad还是安卓_最近iPad做电子笔记很流行?综合分析你知道的所有笔记方式。...
  12. OpenGL vscode 安装与配置
  13. 循环队列 - 顺序存储结构
  14. 文件上传时判断是否为图片
  15. Activiti7 25张表含义
  16. 压力单位MPa、Psi和bar之间换算公式
  17. 马斯洛提出动机理论_人做事的动机来自于哪里?--马斯洛需求层次理论解读
  18. 思科 | 无线局域网组网实验
  19. Python每日一记179文氏图绘制
  20. 梦幻西游玩家最多的服务器,都说你是《梦幻西游》老玩家,这5个著名服务器你知道几个?...

热门文章

  1. 基于Python的HTTPS协议模拟登陆+爬取页面
  2. (转)如何建立EXCEL2010下拉列表
  3. HDU_2112 HDU Today(DIjkstra + map映射)
  4. 20100707 学习记录:[System.Web.Script.Services.ScriptService]引用问题
  5. 在内核中增加对yaffs文件系统的支持
  6. Windows xp 无人值守远程安装部署
  7. python画心形图像
  8. 你们都是怎么学 Python 的?
  9. xshell查询日志命令_Polysh命令实现多日志查询的方法示例
  10. 在 Linux中find命令使用技巧