Nie, to powszechne nieporozumienie dotyczące MySQL. W rzeczywistości „długość” nie ma wpływu na rozmiar liczby całkowitej ani zakres wartości, które może przechowywać.
TINYINTma zawsze 8 bitów i może przechowywać 2 różne wartości.SMALLINTma zawsze 16 bitów i może przechowywać 2 różne wartości.INTma zawsze 32 bity i może przechowywać 2 różne wartości.BIGINTma zawsze 64 bity i może przechowywać 2 różne wartości.
Jest też MEDIUMINT, ale inżynierowie pracujący nad MySQL mówią mi, że MEDIUMINT zawsze jest wewnętrznie promowany do 32-bitowego INT, więc tak naprawdę nie ma żadnych korzyści z używania MEDIUMINT.
Długość jest tylko do wyświetlania, a to ma znaczenie tylko wtedy, gdy używasz ZEROFILL opcja.
Zobacz przykład w mojej odpowiedzi na Jaka jest różnica (po zastosowaniu do mojego kodu) między INT(10) a INT(12)?