Поврежденная вставка MySQL
Я пытаюсь вставить запись в мою базу данных, но я получаю другой результат при выборе запроса.
INSERT INTO `mobilpay_sms_log` (
`id` ,
`messageid` ,
`user` ,
`sms_key` ,
`sender` ,
`final_value` ,
`brute_value` ,
`message` ,
`code` ,
`status` ,
`time`
)
VALUES (
NULL , '20130814195225:0721254789', '0', '10752000000', '0721547896', '10.00', '10.00', 'LICENTA 111', '8A5SSVPQ', 'FINISHED',
'20130814195225'
);
После выбора я получаю странное значение из поля "sms_key", "2147483647". Структура sms_key - это int(20)
1 ответ
Это потому, что int не может хранить такие большие числа. Вам нужно будет хранить его в длинном int или просто varchar. Вот больше информации о целочисленных размерах в MySQL:
http://dev.mysql.com/doc/refman/5.0/en/integer-types.html
Число в спецификации вашего столбца (20) ограничивает только количество символов, которое может быть сохранено в вашем столбце.
Кроме того, я буду очень осторожен с хранением телефонных номеров в виде целых чисел. Больше объяснения почему:
Как правильно представлять номера телефонов?
Я полагаю, что у вас могут быть такие проблемы в колонке отправителя.