1

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

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)

4

1 回答 1

2

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

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

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

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

表示电话号码的正确方法是什么?

我相信您的发件人栏中可能会遇到此类问题。

于 2013-08-17T19:57:33.023 回答