Groß- und Kleinschreibung in Abfrage ?

2Pac

Erfahrenes Mitglied
Hallo!

Ich habe ein paar Scripte auf meiner Seite, welche unter anderem User registrieren lässt, auf der Page sowie in ein paar Turniere.

Diese können bis auf Sonderzeichen Ihren Namen frei wählen. Jedoch können User sich beN und BEN und BeN usw. nennen. Diese ist auch gut so. Jedoch komischerweise wenn sich ein bEn beim Turnier anmeldet, dann werden sämtliche bens mit einer anderen Schreibweise angezeigt.

Ich habe gehört ich kann das ganze umgehen, wenn ich das Feld in der Datenbank auf Attribut - BINARY setze.

Aber wenn ich meine vorhandene Datenbank bzw. Tabelle in der Spalte nick (Typ: Text) bearbeiten will kommt folgende Fehlermeldung:

#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'BINARY NOT NULL' at line 1

Und ich weiss nun a) nicht warum diese Meldung kommt und b) wie ich das ganze beheben kann.

Hier mal die kompletten Einstellungen des Datenfeldes "nick":

Typ: Text
Länge: nicht bearbeitet
Attribute: BINARY
NULL: not null
Standard: nicht bearbeitet
Extra: nicht bearbeitet

Wäre nett wenn Ihr mir helfen würdet, da das Problem bisher erst einmal aufgetreten ist und ich es schnellstmöglich beheben muss bevor irgendwelche Fehler im Script dadurch entstehen.

Danke an alle die mir helfen wollen.

2Pac
 
Schick doch mal den Befehl, der den SQL - Fehler hervorrief.
Dazu deine MySql-Version.

Tipp:
Es geht auch ohne Umstellung der Spalten (allerdings werden dann scheinbar die Indexe nicht verwendet) etwa so
SELECT ... WHERE BINARY UserName = 'BeN';

Wenn Du also erstmal eine schnelle Lösung brauchst sollte das gehen.

Wie Du eine Spalte änderst (ALTER TABLE) weißt Du?

vop
 
Naja über PHPmyAdmin muss ich da nicht viel wissen, weil es halt über ein Interface geändert wird. Aber ich kann ja wenn ich heute Nachmittag nach Hause komme, mal den Befehl kopieren welcher verwendet wird hier rein stellen.

Trotzdem versteh ich die Fehlernachricht nicht.

Versteht sich eventuell das Textfeld vom Dateityp mit dem BINARY nicht ?
 
*UPDATE*

Zuerst einmal entschuldigung für den Doppelbeitrag!

Kann es sein, dass ich den Dateityp einfach von Text auf BLOB stellen kann und dann gar kein BINARY mehr benötige?

Ich habe gerade mal nach "BINARY" in dem Forum hier gesucht und ein Thread gefunden, wo ein Link gepostet wurde. Dort stand beschrieben das der Unterschied zwischen TEXT und BLOB die Groß- und Kleinschreibung ist.

Stimmt das ?

Danke für Antworten.

Mfg 2Pac
 
Du speicherst also einen Nickname nicht als CHAR, sondern als TEXT?
Das ist höchst ineffizient, da nach diesem bei jeder Anmeldung gesucht werden muss.
Benötigst Du wirklich Nicknames mit mehr als 255 Zeichen?

Ansonsten: Ja, der Unterschied zwischen CHAR und BINARY CHAR entspricht dem zwischen TEXT und BLOB.

Gruß hpvw
 
Zurück