Как правильно выбрать имя пользователя и пароль, обращая внимание на прописные и строчные буквы - mysql

В этом случае я создал таблицу «логины»:

+--------+--------------+---------+-----+
|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? есть идеи? Мне трудно найти какое-либо решение на нем. Спасибо за любую помощь и совет.


person Prochu1991    schedule 25.04.2019    source источник
comment
Используйте, где верхний (имя пользователя) = 'Администратор' или нижний (имя пользователя) = 'администратор';   -  person Arun Kumar    schedule 25.04.2019
comment
@ArunKumar Я пробовал и верхний, и нижний запросы. Это не работает.   -  person Prochu1991    schedule 25.04.2019


Ответы (1)


Используйте этот запрос с учетом регистра, как этот

select * from logins where BINARY USERNAME='admin';

Если вы использовали «Администратор» вместо «Администратор». Это не совпадет и создаст пустой набор.

person Arun Kumar    schedule 25.04.2019