Heute hat sich beim Entwickeln wieder ein kurioser Fehler eingeschlichen. Beim Auslesen von Daten aus einer MySql Tabelle, habe ich nicht erwünschte Daten wiederbekommen. Grund dafür war die unterschiedliche Behandlung zwischen Groß- und Kleinschreibung.
Beim Erstellen einer MySql Tabelle sollte unbedingt darauf geachtet werden, welcher Zeichensatz genutzt wird. Standardmäßig nimmt mein lokaler MySql Server den Zeichensatz latin1_swedish_ci, wobei das ci für case-insensitive steht.
Daher sollte man sich schon vor dem Erstellen einer Tabelle gedanken über den Zeichensatz machen. Für Daten, die immer case-sensitive sein sollen, nutze ich nun latin1_general_cs (cs steht für case-sensitive).
Sollte die gewünschte Spalte, die abgefragt werden soll, case-insensitive sein, kann direkt im SELECT Befehl dies geändert werden!
col_name COLLATE latin1_general_cs = 'value'
Weitere Informationen zu diesem Thema findet Ihr hier:
MySql case-sensitive