Очень большое целое число, вставленное в столбец типа TEXT в MySQL - PullRequest
0 голосов
/ 05 ноября 2010

Просто экспериментируя

Я использовал этот запрос на MySQL:

insert into table_name (text_col) values (1919191919191919191919191...91919191)

Где это целое число имеет длину 174 символа.text_col имеет тип "ТЕКСТ".Я знаю, что целое число превышает лимит, потому что вместо этого числа я получаю 65-длинный 999..9999 один, но я не получаю , предел которого превышен .Я прочитал здесь максимальные значения, но я до сих пор не понимаю.

Какой тип целого числа приводится при вставке в столбец типа TEXT?

Спасибо, как всегда


Редактировать: Я знаюо вставке этого целого числа в виде строки с одинарными кавычками.

Ответы [ 2 ]

2 голосов
/ 05 ноября 2010

Ваше очень длинное число (без кавычек) было преобразовано в десятичное число. Поскольку аргумент превышает емкость для этого типа (а именно, 65 символов), подставляется самое близкое возможное значение (все 9).

Вероятно, вы должны были получить предупреждение на вкладыше. Show warnings должен объяснить, что случилось.

1 голос
/ 05 ноября 2010

Ответ на ваш вопрос:

Сначала вы говорите компилятору создать число такого размера, чего он на самом деле не может. Это ограничение компилятора на размер числа

Необязательный обходной путь:

Передавайте это как строку, и вам будет хорошо идти.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...