2011-06-27 54 views
0

最近,MySQL 5.1.49(OSX)開始爲名爲id的所有整數字段插入相同的值'2147483647'並將其設置爲主鍵。所有數據庫和所有表都會發生這種情況。下面是一個簡單的例子:mysql int字段總是返回相同的值

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作爲閒來無事似乎工作:/我會發布的任何解決方案,我管理,但同時任何幫助總是讚賞!

回答

1

這可能是因爲你的id字段是一個32位整數,值37364428662將需要超過32位來存儲。嘗試將id的類型更改爲無符號整數或更大的整數類型。

當您嘗試輸入37364428662時,它顯示默認爲int 32(2147483647)的最大可能值。

+0

謝謝德克!這是解決方案。必須已經忘記了我的CS 101課程可能的最大int ... – benipsen

+0

別擔心。我從來不記得實際的價值,我不得不穀歌它。 – Dirk

0

您想插入一個值爲37364428662的值,該值大於整數字段(2147483647)的最大允許大小。