Вместо того, чтобы беспокоиться о том, что делает или не делает MySQL, почему бы не преобразовать данные самостоятельно перед изменением.
например.
UPDATE YourTable
SET YourField = LEFT(YourField,6);
ALTER TABLE YourTable MODIFY COLUMN YourField Char(6)
Вы должны заметить, что если ваши данные столбца слишком длинные, это не позволит вам выполнить изменение, если включить режим строгого SQL, см. Полный ответ Шефа