Mailinglisten-Archive |
Hi Richard, > ich habe eine Datenbank, die ich von Access nach mysql exportiert habe. In > den verschiedenen Tabellen gibt es einige Felder, die in den Typ VarChar > konvertiert wurden. Da in diese aber ein String fester Länge (20 Zeichen) > eingefügt werden soll und dieser aber am Ende Leerzeichen enthält möchte ich > für diese VarChar-Felder den Datentyp Char. MySQL-Manual, Kap. 7.7.1: Silent column specification changes ---*snip*--- If any column in a table has a variable length, the entire row is variable-length as a result. Therefore, if a table contains any variable-length columns (VARCHAR, TEXT or BLOB), all CHAR columns longer than three characters are changed to VARCHAR columnss. This doesn't affect how you use the columns in any way; in MySQL, VARCHAR is just a different way to store characters. MySQL performs this conversion because it saves space and makes table operations faster. ---*snap*--- Das hängt auch noch irgendwie mit der Art der Tabelle abhängig (siehe Kap. 10.6). Mir ist allerdings in einer meiner Datenbanken aufgefallen, dass mySQL (zumindest 3.22) mitnichten VARCHAR im Datenfile als String variabler Länge speichert, sondern fix. Bin dem aber nicht weiter nachgegangen. Ich denke mal wenn du Spaces am Ende des Strings behalten willst (das macht Access aber auch nicht!), dann solltest du auf einen BLOB umsteigen. Gruß Jan --- *** Weitere Infos zur Mailingliste und MySQL unter http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive