首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过搜索区分大小写的用户名从MySQL数据库中选择条目

如何通过搜索区分大小写的用户名从MySQL数据库中选择条目
EN

Stack Overflow用户
提问于 2022-01-25 16:50:57
回答 1查看 72关注 0票数 -1

我已经建立了一个MySQL数据库,并使用MySQL工作台创建了一个登录表。我使用的是MySQL 8.0服务器。

登录表由以下简单条目组成:

代码语言:javascript
复制
id    username    password
1     MyUser      somePassword

在执行以下任一SQL查询时,将检索登录表的单个条目:

代码语言:javascript
复制
SELECT * FROM my_database_schema.login WHERE username="MyUser";
SELECT * FROM my_database_schema.login WHERE username="myuser";

但是,如果是username="MyUser",我只希望查询成功。换句话说:我希望我的SQL查询区分大小写。

正如评论中所指出的,这一问题似乎与数据库整理有关。因此,我试用了对评论中所提到的问题的答案之一。

我执行了以下查询以检查我当前的排序规则:

代码语言:javascript
复制
show variables like '%collation%';

此查询得到以下答案:

代码语言:javascript
复制
Variable_name                    Value
collation_connection             utf8mb4_0900_ai_ci
collation_database               utf8mb4_0900_ai_ci
collation_server                 utf8mb4_0900_ai_ci
default_collation_for_utf8mb4    utf8mb4_0900_ai_ci  

由于这不是区分大小写的排序规则,我知道我必须将其更改为utf8mb4_0900_as_cs

为了实现这一点,我执行了以下两个查询:

代码语言:javascript
复制
-- Change database collation
ALTER DATABASE `my_database_schema` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs;

-- Change table collation
ALTER TABLE `login` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs;

MySQL工作台让我知道这些查询是成功的。不过,在执行第一个查询(即再次检查数据库排序规则)时,我获得了与前面相同的结果:我使用的是utf8mb4_0900_ai_ci

有人能帮我理解一下吗?

===========================================================在链接问题中寻找更多可能的答案,我尝试了以下查询:

代码语言:javascript
复制
SELECT * FROM my_database_schema.login WHERE username= BINARY "MyUser";

这就是诀窍!只有当用户名以正确的区分大小写的方式给出时,此查询才会成功.

但是,我不知道如何将此查询转换为HQL语句,即Hibernate所理解的查询。目前,我正在使用以下声明:

代码语言:javascript
复制
@Query("SELECT u FROM User u WHERE u.username=?1")

,其中用户是表示我的登录表的类。

EN

回答 1

Stack Overflow用户

发布于 2022-01-28 02:14:42

_cs_bin一起使用排序规则。将其应用于所讨论的列。

数据库的排序规则是新表的默认设置。

表的排序规则是其中没有指定字符集和排序规则的任何列的默认排序规则。

要查找所有可用的排序规则,请执行以下操作:

代码语言:javascript
复制
SHOW COLLATION;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70852566

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档