Какое максимальное значение допустимо для столбца типа tinyint(2)
?
Разрешены ли значения, например, 255 или 99? Я запутался, потому что (2)
после tinyint(2)
обозначает только дисплей... Правильно ли?
Какое максимальное значение допустимо для столбца типа tinyint(2)
?
Разрешены ли значения, например, 255 или 99? Я запутался, потому что (2)
после tinyint(2)
обозначает только дисплей... Правильно ли?
Требуется 127.
ссылка: http://dev.mysql.com/doc/refman/5.1/en/numeric-types.html
Справочное руководство MySQL 5.0: числовые типы
Ширина дисплея не ограничивает диапазон значений, которые могут быть сохранены в столбце. Это также предотвращает правильное отображение значений, превышающих ширину отображения столбца.
Изменить: Нет. Обратите внимание, что UNSIGNED
является нестандартным атрибутом, который влияет на диапазон. Ни одно значение, указанное в вашем вопросе, не является правильным верхним пределом нормального TINYINT(2)
.
Изменить для редактирования комментариев: Доверяйте документации, если нет причин для этого. Если что-то кажется подозрительным, TIAS (попробуйте его и посмотрите).
Для типа данных tinyint:
если столбец db ПОДПИСАН: min: -128, max: 127
если столбец db НЕ ПОДКЛЮЧЕН: min: 0, max: 255
Просто это.
больше помощи!:
http://dev.mysql.com/doc/refman/5.1/en/integer-types.html
Я верю, что правильный ответ на этот вопрос:
255
не 127.
Проверьте эту страницу: Mysql Целочисленные типы
Другие ответы не могут сказать вам, что максимум может быть 255, если вы не используете отрицательные числа.
Если вы используете отрицательные числа, максимальное значение может быть только 127.
То, что означают слова unsigned
и signed
, к сожалению, никто не объяснил это вам, поэтому я могу понять, почему это запутывает.
usigned
означает, что он не может содержать отрицательные числа, поэтому, если вы установите столбец unsigned
, вы можете использовать 255
как максимальный. Если вы явно не устанавливаете столбец как unsigned
, это означает, что он примет отрицательные числа (таким образом, это столбец signed
), и в этом случае максимум будет теперь 127
.
Другие ответы технически правильны, потому что по умолчанию Mysql будет устанавливать все целые столбцы как signed
(умеет использовать отрицательные числа). Я просто думаю, что этот ответ объясняет вещи немного больше и, возможно, более уместен для вашего первоначального вопроса.