ПредишенСледващото

Case-чувствителен при търсене на MySQL

Ако сте били на работа със софтуерния MySQL. Моля, имайте предвид, че всеки избор или търсене отива нечувствителен. В повечето случаи е удобно, но понякога все още трябва да направите, е с малки букви при търсене на MySQL. Това е, което съм днес и писане.

За да стане ясно какво е заложено на карта, нека просто да ви дам един пример SQL-заявка:

SELECT * FROM `users` WHERE` login` = 'администратор"

Потребителят връща заявката с "администратор" вход. Въпреки това, той не е съвсем наред. Ако има един потребител "Администриране" (или, например, "AdMiNM"), той също ще резултат.

На практика, няма грешка. Ако сте направили всичко правилно (или поне да постави UNIQUE на съответната клетка), а след това тези стойности като "администратор" и "Администриране" никога заедно, няма. Ето защо, в този случай, пробата не е на буквите има нужди.

SELECT * FROM `users` WHERE` login` = 'администратор" И `password` =' mypassword"

Тъй като делото по подразбиране не се счита, следователно, че потребителят ще бъде намерен и паролата ще съвпадне, което не трябва да бъде, защото, ако се регистрирате за вход не е важно, тук определено трябва да се разглежда регистър парола.

Проблемът се решава чрез двоични. Ако зададете това изявление по заявка, следните редове за него, за да бъдат малки и главни букви. Тя работи по следната причина: всички следващи редове след двоичен ще бъдат преведени на двоичен код. А код за главни и малки букви се различават. Следователно, работата на сравнение, ако струните не съвпадат до регистъра връща лъжа. защото тяхното двоичен код е различен. Сега тази заявка ще бъде вярно за нашия пример със себе си:

SELECT * FROM `users` WHERE` login` = 'администратор" бинарен код `password` =' mypassword"

Това е просто начин да се направи с малки букви търсене и извличане на MySQL.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!