Int (5) против Smallint (5): числа в скобках после числового типа

dba.stackexchange https://dba.stackexchange.com/questions/369

  •  16-10-2019
  •  | 
  •  

Вопрос

В определениях таблицы MySQL существует разные между INT(5) а также SMALLINT(5)? Или они оба представляют одинаковый размер?

Это было полезно?

Решение

Атмосфера int и smallint имеют разные размеры и, следовательно, диапазоны.А (5) является smallint(5) или же int(5) называется а "Числовой атрибут" и это представляет «ширину отображения» поля,

MySQL поддерживает расширение для необязательного указания ширины отображения типов целочисленных данных в скобках, следующих за ключевым словом базового для типа. Например, INT(4) Указывает INT с шириной дисплея четырех цифр. Эта необязательная ширина отображения может использоваться приложениями для отображения целочисленных значений, имеющих ширину меньше ширины, указанной для столбца, путем их левого укладки с пробелами. (То есть эта ширина присутствует в метаданных, возвращаемых с наборами результатов. Используется ли она или нет, зависит от приложения.)

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

Это «расширение» MySQL, а ZeroFill - это «расширение» на расширении.

Для разумного метода управления отображением числового типа не обращайте численного типа и вместо этого используйте

Лицензировано под: CC-BY-SA с атрибуция
Не связан с dba.stackexchange
scroll top