Am Montag, 20. Oktober 2003 16:06 schrieb Frank Rasche:
set-variable = default-character-set=german1
Wo hast du die Syntax nachgelesen?
http://www.mysql.de/doc/de/Option_files.html
Wenn es sich um eine mysqld-Variable handelt, ist das die Syntax in der my.cnf. Zugegeben, das Manual ist da nicht immer ganz klar, manchmal habe ich es auch nur durch ausprobieren gefunden.
Gehört also bei beiden Variablen
set-variable = character-sets-dir = /usr/share/mysql/charsets set-variable = default-character-set = german1
Ja.
Ohne " set-variable =" scheint es zu funktionieren, mit, läßt sich mysqld nicht starten. Also was ist nun richtig bzw. warum funktioniert es bei mir nicht? Das einzige was mich noch stört, ist, dass die Sortierung zuerst Großbuchstaben sortiert. Ansonsten hat sich ja die Sortierung mit meiner "fehlerhaften Syntax" geändert. Die Indizes wurden auch neu erstellt.
mysqladmin variables sollte dir u.a. auch die verfügbaren Zeichensätze auflisten (zumindest macht es das in meiner 4er Version ;-) ), je nachdem, mit welchen es kompilliert wurde.
War die Installation von Version4 problematisch? Ich weiß nicht, ob ich mir da eventuell Ärger antun soll. Manche Dinge an MySQL begeistern mich gar nicht und anspruchsvollere DBs als die augenblickliche AdressDB, werde ich vermutlich mit PostgreSQL lösen. Ich finde zwar immer irgendwie einen "workaround" mit MySQL, aber zeitweise kommt mir das extrem umständlich vor. Auch weiß ich noch nicht, ob postgreSQL letztlich wirklich für meine DB besser ist. Das werde ich erst merken, wenn ich mich damit beschäftige. So sieht zB ein Zusammenfügen von Daten nach bestimmten Kriterien aus. Ob ich damit nun ein Feld update oder gleich in einen Report schreibe, dürfte letztlich egal sein. Die concat-Syntax nervt mich ziemlich, wenn ich an die bash denke. Ich hätte auch "&" statt concat probiert, aber das funktionierte nicht. Ziel des Feldes ist es, einige wichtige Informationen möglichst _kompakt_ zu einem Handy zu übertragen. Version2 mit Erzeugen von einer vcf-Datei ist auch noch geplant. Zur Performance muß ich mir bei ca. 1000 Datensätzen zum Glück keine großen Gedanken machen. UPDATE basis SET listinfo = concat( if(tel_nr=0,"",concat(if(tel_ovw=89,concat("", replace(format(tel_nr,0),",",".") ,if(tel_dw="","",concat("-",tel_dw))), concat(concat(concat(if(tel_lvw =49,"0",concat("00",concat(tel_lvw,"-"))),concat(tel_ovw,"-")),replace(format(tel_nr,0),",",".")),if(tel_dw=0,'',concat("-",tel_dw)))),"; ")), if(ort="","",concat(land,"-",plz," ",ort, if(strasse="","", concat(", ",strasse)),";" )), if(geb='0000-00-00','',concat(" ",date_format(geb,'%e.%c.%y'), " (", round((to_days(curdate())-to_days(geb))/365,1),"J.), ",left(dayname(concat(year(curdate()),"-",month(geb),"-",dayofmonth(geb))),3), " in ",date_format(curdate(),'%y') )), if (firma="","",concat(" | ", concat(firma,if(tel_nr_fa=0,"",if(tel_ovw_fa=89,concat(" ", replace(format(tel_nr_fa,0),",",".") ,if(tel_dw_fa="","",concat("-",tel_dw_fa))), concat(concat(concat(if(tel_lvw_fa = 49," 0",concat(" 00",concat(tel_lvw_fa,"-"))),concat(tel_ovw_fa,"-")),replace(format(tel_nr_fa,0),",",".") ),if(tel_dw_fa=0,'',concat("-",tel_dw_fa))))))))); Über Hinweise, wie man so etwas performanter lösen kann, freue ich mich natürlich. Al