Я знал, что логическое в MySQL как tinyint (1)
.
Сегодня я вижу таблицу с определенным целым, как tinyint(2)
, а также другие, как int(4)
, int(6)
...
Что означает размер в поле типа integer и tinyint?
mysql
sqldatatypes
realtebo
источник
источник
Ответы:
Это означает ширину дисплея
Используете ли вы tinyint (1) или tinyint (2), это не имеет никакого значения.
Я всегда использую tinyint (1) и int (11), я использовал несколько клиентов mysql (navicat, sequel pro).
Это вообще ничего не значит! Я запустил тест, все вышеперечисленные клиенты или даже клиент командной строки, кажется, игнорируют это.
Но ширина экрана наиболее важна, если вы используете
ZEROFILL
опцию, например, ваша таблица имеет следующие 2 столбца:TINYINT (2) ZEROFILL
B tinyint (4) Зерофилл
у обоих столбцов есть значение 1, вывод для столбца A будет
01
и0001
для B , как видно на скриншоте ниже :)источник
(m)
Указывает ширину отображения столбца; приложения, такие как клиент MySQL, используют это при отображении результатов запроса.Например:
Здесь
a
,b
иc
используютTINYINT(1)
,TINYINT(2)
иTINYINT(3)
соответственно. Как вы можете видеть, он дополняет значения с левой стороны, используя ширину экрана.Важно отметить, что это не влияет на принятый диапазон значений для этого конкретного типа, т.е.
TINYINT(1)
все еще принимает[-128 .. 127]
.источник
источник
О INT, TINYINT ... Это разные типы данных, INT - это 4-байтовое число, TINYINT - это 1-байтовое число. Больше информации здесь - INTEGER, INT, SMALLINT, TINYINT, MEDIUMINT, BIGINT .
Синтаксис типа данных TINYINT - TINYINT (M), где M указывает максимальную ширину экрана (используется только в том случае, если ваш клиент MySQL поддерживает ее).
Атрибуты числового типа .
источник