mysql Ошибка: Out of range value for column

Forums:

Предположим, есть некоторая таблица users c таким полем:

`INN` INT(12) NULL DEFAULT NULL COMMENT 'ИНН',

При попытке вставить значение следующим запросом:

INSERT INTO users values ('12345678945');

Возникает предупреждение:

Warning: Out of range value for column 'INN' at row 1

Дело в том, что 12345678945 больше, чем максимальное значение для INT - 2147483647
Стоит также обратить внимание, что

(12)

в

INT (12)

не определяет размер числа, т.е. нельзя записать 12 девяток, а определяет ширину отображения столбца. Т.е. предполагается, что в эту колонку можно записать число в диапазоне: -2(12 - 1) до 2(12 - 1) -1. Однако это ограничени носит рекомендательный характер

Как исправить ошибку: Поменять тип данных столбца с INT, например на VARCHAR

Key Words for FKN + antitotal forum (CS VSU):

vedro-compota's picture

максимальное значение для INT - 2147483647

хм, всего два миллиарда? значит для полулярной соцсети INT тоже использовать нельзя)

_____________
матфак вгу и остальная классика =)