【问题标题】:Why does MySQL ignore case consideration of query keyword's value?为什么 MySQL 忽略查询关键字值的大小写考虑?
【发布时间】:2014-02-11 06:16:32
【问题描述】:

今天,我的 QA 报告了一个令人困惑的问题,即我们的应用程序的登录功能忽略了大小写条件,通过调试后端代码,我发现以下 SQL 脚本运行时结果相同(我们的数据库只有一个用户名为'duno'):

SELECT * FROM T_USER WHERE username = 'duno';

SELECT * FROM T_USER WHERE username = 'DUNO';

以上 2 个 SQL 脚本使用相同的用户记录运行。我只是对此感到困惑,我需要对 MySQL 进行哪些特殊设置?还是其他原因?

提前致谢。

【问题讨论】:

    标签: jquery mysql sql database case-sensitive


    【解决方案1】:

    默认情况下,mysql 查询不区分大小写。

    为了区分大小写,请使用BINARY Keyword

    SELECT * FROM T_USER WHERE BINARY username = 'duno';
    


    要么

    您使用LIKE 运算符而不是= 运算符

    SELECT * FROM T_USER WHERE username LIKE 'duno';
    

    【讨论】:

      【解决方案2】:

      默认情况下,MySQL 进行不区分大小写的搜索。您可以更改查询或表定义以使搜索区分大小写。在 MySQL 文档Case Sensitivity in String Searches 中了解更多信息。

      【讨论】:

        猜你喜欢
        • 2012-12-08
        • 2012-06-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-10-10
        • 1970-01-01
        • 2012-09-11
        相关资源
        最近更新 更多