Поврежденная вставка 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) ограничивает только количество символов, которое может быть сохранено в вашем столбце.

Кроме того, я буду очень осторожен с хранением телефонных номеров в виде целых чисел. Больше объяснения почему:

Как правильно представлять номера телефонов?

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

Другие вопросы по тегам