我只是无法理解为什么我的数据库(mysql)表现得像这样!我的控制台显示记录已正确创建(请注意“remote_id”值):
推文创建(0.3毫秒)
INSERT INTO `tweets` (`remote_id`, `text`, `user_id`, `twitter_account_id`)
VALUES (12325438258, 'jamaica', 1, 1)
但是当我检查记录时,它显示remote_id是2147483647提供的值的intead(上例中的12325438258)......
这个表有很多条目,但是这个字段总是用2147483647写的...它应该用一个唯一的id填充这个空间(我保证你正确生成它)。
答案 0 :(得分:7)
这是因为您使用的INT
数字类型的限制为'2147483647'
,请改用BIGINT
。
来源:http://dev.mysql.com/doc/refman/5.0/en/numeric-types.html
答案 1 :(得分:3)
我的猜测是,您尝试插入的值对于列来说太大了。该数字是可疑的,因为它是32位有符号整数的最大值。
列类型INT
?要存储该值,您应该将其设为BIGINT
。请参阅MySQL手册中的Numeric Types。
答案 2 :(得分:0)
很明显,您使用的是较小的值,因此您需要使用较大的类型,如BigInt(在应用程序中使用long或int64