Ne, toto je běžná mylná představa o MySQL. Ve skutečnosti "délka" nemá žádný vliv na velikost celého čísla nebo rozsah hodnot, které může uložit.
TINYINT
je vždy 8 bitů a může uložit 2 různé hodnoty.SMALLINT
je vždy 16 bitů a může uložit 2 různé hodnoty.INT
je vždy 32 bitů a může uložit 2 různé hodnoty.BIGINT
je vždy 64 bitů a může uložit 2 různé hodnoty.
Existuje také MEDIUMINT, ale inženýři, kteří pracují na MySQL, mi říkají, že MEDIUMINT je interně vždy povýšen na 32bitový INT, takže použití MEDIUMINT ve skutečnosti nemá žádnou výhodu.
Délka je pouze pro zobrazení, a to záleží pouze na tom, pokud použijete ZEROFILL
možnost.
Viz příklad v mé odpovědi na Jaký je rozdíl (při použití na můj kód) mezi INT(10) a INT(12)?