ввод из формы, преобразованной в десятичную на вставке - PullRequest
0 голосов
/ 10 февраля 2011

У меня есть столбец db для кодов upc, настроенный как «числовой» тип данных в postgres.

Я сгенерировал леса для ввода значений в эту таблицу, но rails по какой-то причине преобразует входные данные в FLOAT,

например, запись из 13 цифр 1234567890000 преобразуется в 1234567890000.0

из журналов:

INSERT INTO "upc_codes" ("upccode") VALUES (1234567890000.0) RETURNING "id "

Где тип данных для оператора SQL устанавливается или не устанавливается в зависимости от случая?

Ответы [ 3 ]

0 голосов
/ 10 февраля 2011

Максимальное целочисленное значение для MySQL должно быть 2147483647. я предполагаю, что это может вызвать ошибки где-то.

попробуйте поменять кулм на bigint .

aniway, по моему опыту, лучше обрабатывать bignum, используя строку в рельсах (таким образом, вы можете изменить db). вы всегда можете использовать to_i позже в своем коде.

извините за мой английский.

0 голосов
/ 10 февраля 2011

Когда вы устанавливаете тип столбца на NUMERIC, вы указываете точность / масштаб следующим образом: NUMERIC(13,0)?(13 - это точность, 0 - это масштаб)

Я снова отправил это как ответ, потому что, думаю, я прокомментировал, когда мне следовало ответить.

0 голосов
/ 10 февраля 2011

Какой тип данных используется для этого столбца?Попробуйте изменить тип столбца на целое число при миграции:

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