У меня есть столбец, который установлен в int(20)
когда я пытаюсь вставить номер, например 622108120237
, он говорит, что он выходит за пределы диапазона. Зачем?
int
, с MySQL, хранится в 4 байтах и, как таковой, может содержать только значения между -2147483648
и 2147483647
.
622108120237
больше, чем 2147483647
; поэтому он не вписывается в int
look, как будто вам придется использовать bigint
.
См. Раздел Datatypes – Numeric types of
руководство по MySQL, об этом.
См. Документацию по численному типу MySQL . Эти вещи хорошо документированы.
Диапазон для подписанного INT
– [-2147483648, 2147483647].
Обратите внимание, что в случае INT(x)
x является «шириной отображения» и не имеет ничего общего с требованиями к диапазону или пространству:
MySQL поддерживает расширение для необязательного указания ширины отображения целочисленных типов данных в круглых скобках, следующих за ключевым словом для этого типа. Например, INT (4) указывает INT с шириной отображения четырех цифр … Ширина отображения не ограничивает [или расширяет] диапазон значений, которые могут быть сохранены в столбце .
Счастливое кодирование.
Максимальное значение, которое вы можете сохранить в значении целого числа, равно 2147483647, а unsigned int – 4294967295. В обоих случаях вы превышаете предел