执行以下查询后:
INSERT INTO `temp` (`id`, `user_id`) VALUES (110, 100003568483914);
数据库中的结果是:
**id user_id**
110 2147483647
为什么表中的值与插入的值不同?
答案 0 :(得分:1)
执行describe temp
你会看到user_id
是带符号的INT,即数字的31位+符号的一位,这给你范围从-2 ^ 31到2 ^ 31 - 1(2147483647 = 2 ^ 31 -1)。
您需要做的是更改user_id
的列类型;看来你正在存储我建议使用字符串的facebook用户ID;你永远不需要对这些进行任何算术运算。
答案 1 :(得分:0)
将字段类型更改为LONG或BIGINT或无符号INT(无符号INT可能就足够了)。