@nooclik

Что означает длина поля int?

Возник вопрос о последствиях превышения длины поля, к примеру возьмем поле id primary key, длина 11, тип таблицы InnoDB, что должно произойти? В качестве эксперимента создал таблицу, установил длину поля 1 для id, начал добавлять записи, по сути после значения 9 должно что-то произойти, но значение пошло далее расти - 10, 11... (что имеет длину 2, т.е. превысили указанное). Получается длина поля влияет только на занимаемую память, но никак не на его значения?
  • Вопрос задан
  • 185 просмотров
Пригласить эксперта
Ответы на вопрос 1
ipatiev
@ipatiev
Потомок старинного рода Ипатьевых-Колотитьевых
Размер, указываемый для поля типа int, не влияет на значения. И - как следствие - не влияет и на занимаемую память. Непонятно, с чего вы решили обратное.
Если поле типа int(1) позволяет сохранить значение 4294967295, то естественно, что и памяти оно будет занимать те же 4 байта, что и int(10)

Цифра эта ни на что не влияет, и имеет скорее декоративное значение.
Если хотите сократить память/предельное значение, то используйте другой тип поля -
TINYINT занимает 1 байт, до 255
SMALLINT занимает 2 байта, до 65535
MEDIUMINT - 3 байта, до 16777215
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы