что означает ограничение 255 для целого числа в Mysql? - PullRequest
0 голосов
/ 16 августа 2011

Как сказал вопрос, что, если я хочу иметь 256 номеров.Это означает 256 как число или байт?Потому что мне определенно понадобится больше 255

Ответы [ 4 ]

6 голосов
/ 16 августа 2011

Ограничение 255 применяется к полю с типом байта, называемого TinyInt в MySql. Максимальное значение, которое может быть представлено одним байтом, равно 255.

Целое число по умолчанию в MySql и большинстве СУБД будет намного больше, чем один байт, в MySql это 32 бита или 4 байта в длину. Это означает, что он может хранить значения от 0 до 4 миллиардов или от -2 миллиардов до + 2 миллиардов.

Официальная ссылка на MySql для целых размеров: http://dev.mysql.com/doc/refman/5.0/en/numeric-types.html

0 голосов
/ 16 августа 2011

Аргумент для любого типа 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.

0 голосов
/ 16 августа 2011

Какой предел 255 вы имеете в виду?

Эта страница для числовых типов данных MySQL четко описывает доступные диапазоны - SMALLINT может содержать от -32768 до 32767, INTEGER может содержать 32целое число со знаком и т. д.

0 голосов
/ 16 августа 2011

http://dev.mysql.com/doc/refman/5.5/en/numeric-types.html "255" - это ограничение без знака tinyint.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...