[NATIONAL] CHAR(M) [CHARACTER SET charset_name] [COLLATE
collation_name]

A fixed-length string that is always right-padded with spaces to the
specified length when stored. M represents the column length. The range
of M is 0 to 255 characters.

Note: Trailing spaces are removed when CHAR values are retrieved.

Before MySQL 5.0.3, a CHAR column with a length specification greater
than 255 is converted to the smallest TEXT type that can hold values of
the given length. For example, CHAR(500) is converted to TEXT, and
CHAR(200000) is converted to MEDIUMTEXT. This is a compatibility
feature. However, this conversion causes the column to become a
variable-length column, and also affects trailing-space removal.

In MySQL 5.0.3 and later, if you attempt to set the length of a CHAR
greater than 255, the CREATE TABLE or ALTER TABLE statement in which
this is done fails with an error:

mysql> CREATE TABLE c1 (col1 INT, col2 CHAR(500));
ERROR 1074 (42000): Column length too big for column 'col' (max = 255);
use BLOB or TEXT instead
mysql> SHOW CREATE TABLE c1;
ERROR 1146 (42S02): Table 'test.c1' doesn't exist

URL: http://dev.mysql.com/doc/refman/5.0/en/string-type-overview.html

