MySQL损坏的插入

时间:2013-08-17 19:54:39

标签: mysql database select insert corrupt

我尝试在我的数据库中插入一个条目,但是我在select查询中得到了不同的结果。

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 个答案:

答案 0 :(得分:2)

这是因为int无法存储大数字。您需要将它存储在long int或varchar中。以下是有关MySQL中整数大小的更多信息:

http://dev.mysql.com/doc/refman/5.0/en/integer-types.html

列规范(20)中的数字仅限制可以存储在列中的字符数。

此外,我会非常小心地将电话号码存储为整数。更多解释原因:

What's the right way to represent phone numbers?

我相信您的发件人专栏可能会出现此类问题。