Фак твой мозг.. INT(32) это число. От -2147483648 до 2147483647 32 в данном случае обозначает макисимально показываемый размер. Даже если ты задашь INT(255) число FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF h ты туда не впихнешь, даже если ты Дэвид Блейн. CHAR(32) это строка 32 в данном случае обозначает что можно поместить 32 символа в данную строку. Поэтому строку 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF' ты туда без проблем запихнешь. P.S. Это был мой последний коммент в данном топике. Успехов в изучении документации по MySQL. Ее много.
Char имеет длинну 1 байт, судя по всему там используется C++-шное char* а для varchar вероятно используется string(вектор) из STL(надо будет посмотреть в хедеры\сырцы) со всеми вытекающими последствиями(различные операции доступны)