phpbar.de logo

Mailinglisten-Archive

Re: Automatische CHAR-Länge ???
Archiv Mailingliste mysql-de

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Automatische CHAR-Länge ???



> Wenn ich in  einer Tabellendefinition ein CHAR(20) definiere,
> so erhoffe ich doch , daß dieser bei einer Länge von 20 beleibt.
> Wenn ich jedoch die Tabelle in einer ODBC Quelle öffne, wird
> die Länge des Chars automatisch an den längsten bisherigen Wert
> angepaßt und kann später nicht mehr geändert werden.
> 
> Ein Beispiel :
> 
> create table addressen (Kunden_nr INT(6),Anrede CHAR(6),Vorname
> CHAR(20),Nachname CHAR(30));
> insert into addressen(1,"Herr","Peter","Kunz");
> 
> Wenn ich jetzt auf die Tabellendefinition meines Datenbank-Fronted
> sehe
> erhalte ich wider Erwarten folgende Werte :
> Kunden_nr INT(1),Anrede CHAR(4),Vorname CHAR(5),Nachname CHAR(4)
> 
> Der Versuch einen Herrn Müller anzulegen scheitert also, da Müller aus
> 6 Zeichen besteht.

Der Versuch scheitert von deinem DB-Frontend aus ?

> Das gleiche gilt für die anderen Werte.Wie kann ich dieses Problem
> umgehen, denn es macht mir
> ein sinnvolles Arbeiten unmöglich? Ich habe zwar im Handbuch etwas zur
> Verkürzung von Werten
> gelesen , werde daraus aber nicht schlau.
> Ach ja, innerhalb von mysql (also ohne odbc) kann ich natürlich
> weiterhin die vollen 30 Zeichen nutzen.

Du meinst VARCHAR-Felder. Dort wird die maximale Länge der Felder
angegeben, aber nur die wirklich benötigte Länge verwendet. Dies spart
u.U. sehr viel Speicherplatz. 
Welchen ODBC-Treiber verwendest du genau und welche Optionen sind
gesetzt ? Kannst du einen ODBC-Trace ziehen ?


Dirk


Home | Main Index | Thread Index

php::bar PHP Wiki   -   Listenarchive