mysql - Mysql中的WHERE子句不区分大小写吗?
问题描述
where子句不区分大小写吗?
我尝试对表数据使用不同版本的查询:
username(TEXT) pass(TEXT)
admin admin
上表只有一项
SELECT pass FROM lbdb_user WHERE username = "Admin";
SELECT pass FROM lbdb_user WHERE username = "admiN";
SELECT pass FROM lbdb_user WHERE username = "admin ";
我运行的所有上述查询都产生了相同的结果。
解决方案
Mysql整理,搜索区分大小写
通常我们的 mysql 查询不区分大小写。为了查询区分大小写,可以使用 mysql COLLATE 子句。collate 子句允许您指定排序规则,它基本上是一组用于比较给定字符集中的字符的规则。
排序规则的后缀 ci、cs、bin 分别代表不区分大小写、区分大小写和二进制。像 utf8_bin 这样的二进制排序规则也是区分大小写的,因为它根据字符的数值比较字符。
SELECT * FROM users WHERE name like 'cRaZy' COLLATE utf8_bin;
推荐阅读
- javascript - 如何创建我的预加载器以在我的网站上可见?
- xml - Suggested way to get all siblings minus self in xml
- python - 我正在尝试从给定的输入中删除长度小于等于 4 的文本。我正在使用 EasyOcr 和边界框概念
- android-11 - 无法在 Oxygen OS 11 的通讯录中保存姓名字段
- pytorch - Pytorch 中的 Mask R-CNN 优化器和学习率调度器
- objective-c - 关于 3DES 加密/TripleDES 不同导致 Objective-C 和 vb
- docker - 使用 Visual Studio 2019 右键单击将自定义 docker 图像发布到现有 ACR
- c# - 来自另一个程序集资源文件中的自定义用户控件的图像在我的项目中使用时不显示,但在 VS 设计器中显示正常
- mysql - Delete From in delete after trigger 不从另一个表中删除
- firebase - 是否每个 FireBase 云函数都创建自己的 Nodejs 函数应用程序中编写的所有代码的副本?