The wrong understanding:
int 10 can store the number 1234567890, and int 3 can only store the number 123.
It should be that:
Yes, in type int ,the max value of number has nothing with it's length in mysql, it means int 10 is the same with int 3 in the max value of number.
A little difference is :
when the cloumn is set zerofill, create table a(b int(3) zerofill);
the value 5, will be 050 if int 3, and will be 0000000050 if int 10.
Thank you.