In the last episode (Jul 09), Michael Ivanyo said: > I am using MySql with InnoDB and have just discovered that tables > created using char types show up as varchars when I type, describe > tableName. Previously, I was using MyIsam tables and did not see > char types being changed to varchars so I am a bit puzzled. > > This is true for almost all of the tables I've created, only a couple > of tables retained the char type as specified in my create table > script. > > Is this documented behavior? I haven't been using MySql very long > and haven't seen it mentioned anywhere.
http://www.mysql.com/doc/S/i/Silent_column_changes.html * 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 columns. 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. See section 7 MySQL Table Types. -- Dan Nelson [EMAIL PROTECTED] --------------------------------------------------------------------- Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail <[EMAIL PROTECTED]> To unsubscribe, e-mail <[EMAIL PROTECTED]> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php