如果MYSQL不区分大小写,那么它对于Login中的Password字段有何用处?

tec*_*_28 6 mysql case-sensitive case-insensitive

我想知道在正常选择操作的情况下,搜索是不区分大小写的.所以SELECT * FROM tbl WHERE name = aBc也会考虑名称为ABC,abc,abC等的名称

但是在登录功能的情况下,我们只会 SELECT * FROM tbl WHERE password = aBc 区分大小写并且只考虑具有aBc值的密码.

这是怎么回事?我在搜索中没有发现任何相关信息.

请小心解释.

Thanx All.

Ome*_*esh 5

我认为这取决于列的整理,MySQL utf8_general_ci中的默认数据库整理,ci最后代表不区分大小写.

仅当您使用MD5PASSWORD函数以加密格式存储密码时,区分大小写的密码才有效.

show variables like '%collation%';
+---------------------------+-------------------+
| Variable_name             | Value             |
+---------------------------+-------------------+
| collation_connection      | latin1_swedish_ci |
| collation_database        | utf8_general_ci   |
| collation_server          | latin1_swedish_ci |
+---------------------------+-------------------+
Run Code Online (Sandbox Code Playgroud)