MySQL: зачем указывать ширину дисплея без использования zerofill

Недавно я погрузился в захватывающий мир SQL. Я все еще пытаюсь обернуть голову вокруг понятий. Я следовал за учебниками онлайн. Многие из этих руководств содержат SQL для создания такой таблицы.

CREATE TABLE `users` (
     `id` tinyint(4) NOT NULL AUTO_INCREMENT,
     `username` varchar(10) NOT NULL,
     `password` varchar(100) NOT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

После просмотра строк, какid tinyint(4)Мне было интересно, какой параметр передается типу данных. Я думал "Означает ли это, что id может быть любым целым числом от -128 до 127 (не более 4 символов)? "

Поэтому я сверился с документами. Это то, чтоMySQL документы должны сказать об атрибутах числового типа.

Ширина отображения не ограничивает диапазон значений, которые могут быть сохранены в столбце. Также это не препятствует правильному отображению значений, более широких, чем ширина отображения столбца. Например, столбец, указанный как SMALLINT (3), имеет обычный диапазон SMALLINT от -32768 до 32767, а значения, выходящие за пределы диапазона, разрешенного тремя цифрами, отображаются полностью, используя более трех цифр.

При использовании вместе с необязательным (нестандартным) атрибутом ZEROFILL заполнение пробелов по умолчанию заменяется нулями. Например, для столбца, объявленного как INT (4) ZEROFILL, значение 5 извлекается как 0005.

Так что если яЯ читаю это право, объявляя такие вещи, какINT(255) бесполезны, если вы не используете Zerofill. Хорошо, имеет смысл объявить тип данных, в котором база данных выделяет достаточно места для этой базы данных.

Так почему же люди пишут такой код? Это служит цели? Я полностью недопонимаю?

Ответы на вопрос(1)

Ваш ответ на вопрос