Alguns pontos importantes a serem lembrados em SQL.
TINYINT - ocupa 1 byte e se tiver com unsigned marcado pode ter valores entre -128 e 127, caso não tenha unsigned marcado aceita valores entre 0 e 255
SMALLINT - ocupa 2 byte e se tiver com unsigned marcado pode ter valores entre -32768 e 32767, caso não tenha unsigned marcado aceita valores entre 0 e 65535
MEDIUMINT - ocupa 3 byte e se tiver com unsigned marcado pode ter valores entre -8388608 e 8388607, caso não tenha unsigned marcado aceita valores entre 0 e 16777215
INT - ocupa 4 byte e se tiver com unsigned marcado pode ter valores entre -2147483648 e 2147483647, caso não tenha unsigned marcado aceita valores entre 0 e 4294967295
BIGINT - ocupa 8 byte e se tiver com unsigned marcado pode ter valores entre -9223372036854775808 e 9223372036854775807, caso não tenha unsigned marcado aceita valores entre 0 e 18446744073709551615
vamos supor que no seu formulário você tenha um campo que recebe no maximo 4 inteiros, seu valor máximo seria 9999 então não se tem a necessidade de colocar um INT pois cada registro vai ocupar 4 bytes podemos colocar um SMALLINT UNSIGNED que irá comportar o nosso numero (pois ele comporta até 65535) e ocupará a metade 2 bytes