在这种情况下,我创建了“登录”表:
+--------+--------------+---------+-----+
|ID_LOGIN| USERNAME | PASSWORD |
+--------+--------------+---------+-----+
| 1 | admin | admin |
+--------+--------------+---------------+
| 2 | MaxiKIng1991 | #MaxiKIng1991$|
+--------+--------------+---------------+
我要选择所有指定用户名和密码的地方。但我要注意大写和小写字母。所以请看一下。首先我选择了第一次登录(用户名和密码)。
SELECT * FROM `logins` WHERE USERNAME = "AdMin" AND PASSWORD = "AdMin";
当我写这个查询时它显示如下:
+--------+--------------+---------+-----+
|ID_LOGIN| USERNAME | PASSWORD |
+--------+--------------+---------+-----+
| 1 | admin | admin |
+--------+--------------+---------------+
但在我看来,它不应该显示结果。我注意到sql查询检查每个列名中有多少个字符串。当我1个字母太多或太少时,什么也没有显示。
在第二个查询案例中:
SELECT * FROM `logins` WHERE USERNAME = "Maxiking1991" AND PASSWORD = "#maxiking1991$";
然后显示以下结果:
+--------+--------------+---------+-----+
|ID_LOGIN| USERNAME | PASSWORD |
+--------+--------------+---------+-----+
| 2 |MaxiKIng1991 |#MaxiKIng1991$ |
+--------+--------------+---------------+
但它也不应该表明这一点。
是否可以在mysql查询中注意值中的小写和大写字母?有任何想法吗?我很难在其上搜索任何解决方案。感谢任何帮助和建议。
像这样使用此大小写敏感查询
select * from logins where BINARY USERNAME='admin';
如果你使用'Admin'而不是'admin'。它将不匹配,它会产生空集。