Veröffentlicht 10. April 200817 j Hallo, folgende Queries werden gesendet: SELECT * FROM Person WHERE ( MATCH (Titel, Name, VorName, Telefon, Email) AGAINST('*[b]mendels[/b]*' IN BOOLEAN MODE) ) SELECT * FROM Person WHERE ( MATCH (Titel, Name, VorName, Telefon, Email) AGAINST('*[b]Mendels[/b]*' IN BOOLEAN MODE) ) In der Tabelle steht im Feld "Name" der Wert "Mendels" drin. Die erste Query zeigt keine Ergebnis-Rows an, die zweite schon - warum? Meines Wissens nach ist ab mySQL-Version 3.23.x per default kein Unterschied zwischen Groß- und Kleinschreibung... Danke + Grüße!
10. April 200817 j Bei Tabellen kann man Case-Sensitive in der Config einstellen, bei Abfragen bin ich mir da nicht so sicher. Das dürfte was mit den Zeichensätzen zu tun haben. Sollte dich weiter bringen. M.f.G.
10. April 200817 j Danke für deine Antwort. Ich habe die Tabellenattribute überprüft - es ist überall latin1_german_ci eingestellt. Also ohne Case Sensitive. Woran kann es noch liegen?
10. April 200817 j SELECT * FROM Person WHERE ( MATCH (Titel, Name, VorName, Telefon, Email) AGAINST('*Mendels*' IN BOOLEAN MODE) ) COLLATE latin1_german_ci Probiers dennoch mal aus. Schadet ja nicht. ;-)
11. April 200817 j Hallo, der Post von Cadpax brachte mich auf den richtigen Weg - nachdem ich COLLATE latin1_german1_ci hinzugefügt habe, bekam ich einen Fehler in der Art "COLLATION 'latin1_german1_ci' is not valid for CHARACTER SET 'binary'". Dann habe ich 'entdeckt' ;-) dass das Feld "Telefon" vom Typ Integer ist... das Feld aus der Suche rausgenommen - schon geht es. Danke + Grüße!!!
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.