Căutarea sensibilă pentru mysql

Căutarea sensibilă pentru mysql

Dacă ați lucrat mult timp cu software-ul MySQL. apoi a observat că orice eșantion sau căutarea nu are sensibilitate la minuscule. În cele mai multe cazuri, acest lucru este convenabil, cu toate acestea, uneori uneori este necesar să se facă căutări sensibile la caractere pentru MySQL. Despre asta voi scrie astăzi.







Pentru a clarifica ceea ce este în joc, dați imediat un exemplu de interogare SQL:

SELECT * FROM `utilizatorii 'WHERE` login` =' admin '

Această solicitare va returna utilizatorul cu login "admin". Cu toate acestea, totul nu este complet greșit. Dacă utilizatorul este "Admin" (sau, de exemplu, "AdMiNM"), atunci acesta va fi și rezultatul.







În practică, o astfel de eroare nu va fi. Dacă ați făcut totul în mod corect (cel puțin puneți UNIQUE în câmpul corespunzător), atunci valorile precum "admin" și "Admin" nu vor fi împreună. Prin urmare, în acest caz, nu este necesară o probă independentă de registru.

SELECT * FROM `utilizatorii` WHERE` login` = 'admin' ȘI `password` = 'mypassword'

Deoarece cazul implicit nu se consideră, prin urmare, că utilizatorul va fi găsit și parola se va potrivi, care nu ar trebui să fie, pentru că dacă vă înregistrați de conectare nu este important, aici ar trebui să fie luate în considerare cu siguranță registru parola.

Problema este rezolvată folosind BINARY. Dacă specificați acest operator în interogare, liniile care îl urmează vor fi sensibile la minuscule. Aceasta funcționează din următorul motiv: toate liniile ulterioare după BINARY vor fi traduse în cod binar. Și codul pentru majuscule și majuscule este diferit. Prin urmare, operația de comparație, dacă liniile nu se potrivesc până la registru, returnează false. deoarece codul lor binar este diferit. Pentru exemplul nostru cu dvs., această solicitare va fi corectă:

SELECT * FROM `utilizatori` WHERE` login` = 'admin' ȘI BINARY` password` = 'mypassword'

Iată o modalitate simplă de a face căutări și selecții sensibile la casete pentru MySQL.







Articole similare

Trimiteți-le prietenilor: