Аргумент для любого типа INT / BIGINT / MEDIUMINT / SMALLINT / TINYINT не имеет ничего общего с ограничением его размера или диапазона значений.Это просто подсказка для ширины экрана.
Это более полезно, если вы используете опцию ZEROFILL для целочисленных типов.Таким образом, это дополняет значение нулями.Например, сохранение 1234 в столбце INT (10) ZEROFILL и получение его обратно возвращает "0000001234"
.Это делает некоторые репортажи более привлекательными.Но значение, хранящееся в базе данных, составляет всего 1234.
Число отображаемой ширины не делает хранилище TINYINT больше или меньше, чем 8 бит, независимо от того, насколько большой вы делаетеширина.Аналогично, SMALLINT всегда 16 бит, MEDIUMINT всегда 24 бита, INT всегда 32 бита, а BIGINT всегда 64 бита.значения, разрешенные их размером типа данных.Например, TINYINT (1) по-прежнему допускает все значения от -128 до 127.
Числовые аргументы NUMERIC или DECIMAL имеют совершенно другое значение.Они определяют точность и масштаб типа данных в соответствии со стандартом SQL.