What MYSQL does not tell you

August 14th 2011

MYSQL can perform silent column changes whenever you CREATE or ALTER a table.These might be changes to a data type, to attributes associated with a data type, or to an index specification. Some notable changes are the following.

VARCHAR columns specified less than four characters are silently converted to CHAR [Before MySQL 5.0.3]
All TIMESTAMP columns are converted to NOT NULL
String columns defined with a binary CHARACTER SET are converted to the corresponding binary data type; for example VARCHAR is converted to VARBINARY [Before MySQL 5.0.3]
Columns that are part of a PRIMARY KEY are made NOT NULL even if not declared that way
Trailing spaces are automatically deleted from ENUM and SET member values when the table is created

Reference: http://dev.mysql.com/doc/refman/5.6/en/silent-column-changes.html

Your comments