Non, c'est une idée fausse courante à propos de MySQL. En fait, la "longueur" n'a aucun effet sur la taille d'un entier ou sur la plage de valeurs qu'il peut stocker.
TINYINT
est toujours de 8 bits et peut stocker 2 valeurs distinctes.SMALLINT
est toujours de 16 bits et peut stocker 2 valeurs distinctes.INT
est toujours de 32 bits et peut stocker 2 valeurs distinctes.BIGINT
est toujours 64 bits et peut stocker 2 valeurs distinctes.
Il y a aussi un MEDIUMINT, mais les ingénieurs qui travaillent sur MySQL me disent que MEDIUMINT est toujours promu à un INT 32 bits en interne, donc il n'y a en fait aucun avantage à utiliser MEDIUMINT.
La longueur est seulement pour l'affichage, et cela n'a d'importance que si vous utilisez le ZEROFILL
option.
Voir un exemple dans ma réponse à Quelle est la différence (lorsqu'elle est appliquée à mon code) entre INT(10) et INT(12) ?