Não, este é um equívoco comum sobre o MySQL. Na verdade, o "comprimento" não afeta o tamanho de um inteiro ou o intervalo de valores que ele pode armazenar.
TINYINT
é sempre 8 bits e pode armazenar 2 valores distintos.SMALLINT
é sempre de 16 bits e pode armazenar 2 valores distintos.INT
é sempre de 32 bits e pode armazenar 2 valores distintos.BIGINT
é sempre de 64 bits e pode armazenar 2 valores distintos.
Há também um MEDIUMINT, mas os engenheiros que trabalham no MySQL me dizem que o MEDIUMINT sempre é promovido para um INT de 32 bits internamente, então não há nenhum benefício em usar o MEDIUMINT.
O comprimento é apenas para exibição, e isso só importa se você usar o
ZEROFILL
opção. Veja um exemplo na minha resposta para Qual é a diferença (ao ser aplicado ao meu código) entre INT(10) e INT(12)?