mysql int字段总是返回相同的值

时间:2011-06-27 20:20:41

标签: mysql primary-key

最近MySQL 5.1.49(OSX)开始为名为id的所有整数字段插入相同的值'2147483647'并设置为主键。所有数据库和所有表都会发生这种情况。这是一个简单的例子:

mysql> INSERT INTO packages(id,name,rate) VALUES ('37364428662',"Testing","300");
Query OK, 1 row affected, 1 warning (0.00 sec)

mysql> SELECT * FROM packages;
+------------+---------+------+
| id         | name    | rate |
+------------+---------+------+
| 2147483647 | Testing |  300 |
+------------+---------+------+
1 row in set (0.00 sec)

mysql> 

我正在尝试重新安装MYSQL,因为似乎没有其他工作:/我会发布我管理的任何解决方案,但同时任何帮助总是受到赞赏!

2 个答案:

答案 0 :(得分:1)

这可能是因为您的id字段是32位整数,值37364428662需要超过32位才能存储。尝试将id的类型更改为unsigned int或更大的整数类型。

当您尝试输入37364428662时,它会默认为int 32(2147483647)的最大可能值。

答案 1 :(得分:0)

您想为id 37364428662插入一个值,该值大于整数字段允许的最大大小(2147483647)。