Stringvergleiche sind in MySQL nicht case-sensitiv. Das bedeutet, dass vom MySQL die beiden Zeichenketten "abc" und "ABC" als identisch angesehen werden. Das ist meistens nicht störend. Manches Mal benötigt man aber einen Vergleich auf vollkommen identische Schreibweise, zum Beispiel für Kennwortabfragen oder die Abfrage von Benutzernamen. Dafür muss man das Schlüsselwort BINARY in den Vergleich einbauen. Hat man also beispielsweise einen WHERE-Teil in der Suchanfrage, der lautet
WHERE passwort=’gEHEIM123’
und will dass das Passwort wirklich vollkommen übereinstimmt, verwendet man stattdessen
WHERE BINARY passwort=’gHEIM123’
Die Kennwortabfrage dient hier nur als Beispiel. Im Normalfall verwendet man hierfür die PASSWORD()
-Funktion von MySQL oder verschlüsselt die Daten anderweitig. (Martin Goldmann/am)
databasepro berichtet alle zwei Monate praxisnah über die Themen, die professionelle Datenbank-Architekten, -Administratoren, Consultants, Anwender und IT-Manager, die sich mit der Auswahl von Technologien, Plattformen, Datenbanken und Entwicklungsumgebungen beschäftigen, Tag für Tag brauchen.