Olha, agora to entendendo melhor tudo...
fiz alguns testes depois de reler todo o manual, e juntar com as informações aqui e reparei algums coisas:
o INT por exemplo, não importa o tamanho que se defina em INT ( X ) , ele terá no máximo um numero com valor de 2147483647
Portanto, quando se insere um INT sem (X) , ele automaticamente vira INT(11) ( 10 casas mais sinal )
Porem, o decimal por exemplo, que armazena não como numero, mas como string, pode ter o numero que for, desde que tenha caracteres suficiente ( ex: DECIMAL(5) vai armazenar valores até 99999 ).
Outra coisa legal é o ZEROFILL, que permito, por exemplo para código de produtos, completar as casas de um numero com zeros na frente ( ex: 123 fica 0000123 ) de acordo com o que for especificado em INT(4) por exemplo.
De qualquer forma, já deu pra aprender bastante coisa, que tiver mais observações e dicas posta ae
valeu!!
--------------------------
Editando:
Prog, vi sua resposta depois de postar....
A unica coisa é que, se em INT vc declarar INT(3), não vai gravar 6666 apenas 666.
Mas se declarar INT(15) e tentar gravar 999999999999 vai gravar apenas 2147483647 que é u numero maximo.
Edição feita por: Alexx Ares, 14/01/2005, 13:42.