Подтвердить что ты не робот

Mysql int (11) номер за пределами диапазона

У меня есть столбец, который установлен в int(20), когда я пытаюсь вставить число, подобное 622108120237, оно говорит, что оно выходит за пределы диапазона. Почему?

4b9b3361

Ответ 1

int, с MySQL, хранится в 4 байтах и, как таковой, может содержать только значения между -2147483648 и 2147483647.

622108120237 больше, чем 2147483647; поэтому он не вписывается в int - похоже, вам придется использовать bigint.

Смотрите раздел Datatypes - числовые типы. Руководство по MySQL, об этом.

Ответ 2

См. документацию по численному типу MySQL. Эти вещи хорошо документированы.

Диапазон для подписанного INT - [-2147483648, 2147483647].

Обратите внимание, что в случае INT(x) x является "шириной отображения" и не имеет ничего общего с требованиями к диапазону или пространству:

MySQL поддерживает расширение для необязательного указания ширины отображения целочисленных типов данных в круглых скобках, следующих за ключевым словом для этого типа. Например, INT (4) указывает INT с шириной отображения четырех цифр... Ширина отображения не ограничивает [или расширяет] диапазон значений, которые могут быть сохранены в столбце.

Счастливое кодирование.

Ответ 3

Максимальное значение, которое вы можете сохранить в значении целого числа, равно 2147483647 И unsigned int is 4294967295 в обоих случаях вы превысите предел