Categories: Linux

Mysql und die Groß-/Kleinschreibung

Normalerweise sucht Mysql bei einer Suche mit „LIKE ‚%irgendwas%‘ “ ja unabhängig von der Groß-/Kleinschreibung!
Nur leider bei der von mir erstellten Adressdatenbank nicht…

Auf der Suche nach dem Problem bin ich auf folgende Lösung gestossen:
alter table adrdb convert to character set utf8 collate utf8_general_ci;

Das Problem lag darin dass bei einigen Tabellen der Character Set utf8 und collat utf8_bin angelegt wurden. Was man sieht wenn man mittels mysqldump und der Option „–all-databases“ einen Dump in eine Textdatei speichert und dort die genauen Definitionen betrachtet.

Bei mir sah es wie folgt aus:

CREATE TABLE `adrdb` (
`uid` bigint(11) NOT NULL auto_increment,
`firma` varchar(60) collate utf8_bin default NULL,
`titel` char(25) collate utf8_bin default NULL,
`vorname` varchar(35) collate utf8_bin default NULL,
`nachname` varchar(35) collate utf8_bin default NULL,
`strasse` char(55) collate utf8_bin default NULL,
`plz` char(10) collate utf8_bin default NULL,
`ort` char(50) collate utf8_bin default NULL,
`telefon` char(35) collate utf8_bin default NULL,
`fax` char(35) collate utf8_bin default NULL,
`mobil` char(35) collate utf8_bin default NULL,
`email` char(80) collate utf8_bin default NULL,
`webseite` char(80) collate utf8_bin default NULL,
`bemerkung` text collate utf8_bin,
`land` char(3) collate utf8_bin default NULL,
PRIMARY KEY (`uid`),
KEY `vorname` (`vorname`),
KEY `nachname` (`nachname`),
KEY `firma` (`firma`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT=’Adressdatenbank‘;

Die letzte Zeile ist in dem Fall am wichtigsten, COLLATE=utf8_bin schaltet also auf Binary Modus beim Suchen um. Mit dem oben angegebenen utf8_general_ci wird auf CaseInsensitive geschaltet und somit die Groß-/Kleinschreibung nicht mehr beim Suchen berücksichtigt!

Nach der Umstellung steht in der letzten Zeile einfach folgendes:
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT=’Adressdatenbank‘;

Da „COLLATE=utf8_bin“ dort fehlt nehme ich an dass die Default Einstellung eigentlich korrekt ist und das Problem beim Importieren der Tabellendaten entstanden ist.

Manfred

Recent Posts

VM – ZFS Partition online vergrößern

Man macht es nicht jeden Tag, darum schadet es nicht sich's kurz zu notieren... Hier…

1 Jahr ago

Samba Password History für einen User löschen

Meine Suche bei Google hatte mal wieder keinen vernünftigen Treffer gelandet, das Problem - ich…

1 Jahr ago

HP Eine Firma von der ich nicht mal geschenkte Drucker nehmen würde!!!

Ich muss mal eben etwas Druck ablassen, ein Kunde von mir setzt einen Drucker von…

2 Jahren ago

IRMC Console Redirection ohne Lizenz

Wer beim Server bestellen vergessen hat die erweiterte IRMC Lizenz zu ordern, der steht vor…

2 Jahren ago

WOL im BIOS aktivieren reicht nicht immer

Ich nutze seit langer Zeit ein System für meine Backups welches in der Nacht von…

2 Jahren ago

Apache Guacamole mit TOPT – funktioniert nicht

Es scheint wohl eine noch nicht so häufig genutzte Kombination zu sein - Apache Guacamole…

2 Jahren ago