4 ответов:
значит ширина дисплея
используете ли вы tinyint(1) или tinyint(2), это не имеет никакого значения.
Я всегда использую tinyint(1) и int (11), я использовал несколько клиентов mysql (navicat, sequel pro).
Это вообще ничего не значит! Я провел тест, все выше клиентов или даже клиент командной строки, кажется, игнорирует это.
а, ширина дисплея является наиболее важным, если вы используете , для пример ваша таблица имеет следующие 2 столбца:
A tinyint (2) zerofill
B tinyint (4) zerofill
оба столбца имеет значение 1, выход для столбца A будет
01и0001на B, как показано на скриншоте ниже :)
The
(m)указывает ширину отображения столбца; приложения, такие как клиент MySQL, используют это при отображении результатов запроса.например:
| v | a | b | c | +-----+-----+-----+-----+ | 1 | 1 | 1 | 1 | | 10 | 10 | 10 | 10 | | 100 | 100 | 100 | 100 |здесь
a,bиcС помощьюTINYINT(1),TINYINT(2)иTINYINT(3)соответственно. Как вы можете видеть, он заполняет значения с левой стороны, используя ширину дисплея.важно отметить, что это не влияет на принятый диапазон значений для данного типа, то есть
TINYINT(1)принимает[-128 .. 127].
mysql> CREATE TABLE tin3(id int PRIMARY KEY,val TINYINT(10) ZEROFILL); Query OK, 0 rows affected (0.04 sec) mysql> INSERT INTO tin3 VALUES(1,12),(2,7),(4,101); Query OK, 3 rows affected (0.02 sec) Records: 3 Duplicates: 0 Warnings: 0 mysql> SELECT * FROM tin3; +----+------------+ | id | val | +----+------------+ | 1 | 0000000012 | | 2 | 0000000007 | | 4 | 0000000101 | +----+------------+ 3 rows in set (0.00 sec) mysql> mysql> SELECT LENGTH(val) FROM tin3 WHERE id=2; +-------------+ | LENGTH(val) | +-------------+ | 10 | +-------------+ 1 row in set (0.01 sec) mysql> SELECT val+1 FROM tin3 WHERE id=2; +-------+ | val+1 | +-------+ | 8 | +-------+ 1 row in set (0.00 sec)
о INT, TINYINT... Это разные типы данных, INT-4-байтовое число, TINYINT-1-байтовое число. Более подробная информация здесь - INTEGER, INT, SMALLINT, TINYINT, MEDIUMINT, BIGINT.
синтаксис tinyint тип данных TINYINT (M), где M указывает максимальную ширину отображения (используется только если ваш клиент MySQL поддерживает его).

Comments