2011-07-12 24 views
2

我在refId表唯一的表上運行以下兩個查詢。正如你所看到的REFID值是要在不同的,但我收到以下錯誤帶有不同值的mysql重複條目

#1062 - Duplicate entry '2147483647' for key 2 

INSERT INTO eve_journal(`date`, `refID`, `refTypeID`, `ownerName1`, `ownerID1`, `ownerName2`, `ownerID2`, `argName1`, `argID1`, `amount`, `balance`, `reason`) VALUES('2011-07-12 00:56:00','4597105986','85','CONCORD','1000125','Qzack','90288778','Josameto','30000156','12956.00','365344321.02','11717:3,17057:1,17060:2,17065:1,17076:2,17081:2,23989:2,') 


INSERT INTO eve_journal(`date`, `refID`, `refTypeID`, `ownerName1`, `ownerID1`, `ownerName2`, `ownerID2`, `argName1`, `argID1`, `amount`, `balance`, `reason`) VALUES('2011-07-12 00:52:00','4597093172','34','Shigakarri Niromochi','3012152','Qzack','90288778','Shigakarri Niromochi','3012152','18400.00','365331365.02','No reason specified.') 

也許我不明白什麼獨特的和重複的平均值也許我缺少一個獨特的表點。爲了幫助指導您的答案,我將refID設置爲獨一無二,因爲它是唯一一件事情,除了保證不同的日子以外。數據如何被拉取,可以多次拉同一條目。我想防止重複的條目,並認爲我可以用mysql說不。

+1

哪個鍵2增加字段大小解決呢? –

+0

不明白你想要什麼?您已將refID設置爲唯一確定,但是您的意思是「可以多次拉同一個條目」 –

回答

3

看起來像refId列上的數據類型不夠大,所以它會縮小到INT的最大大小。增加到UNSIGNED INT或BIGINT。

+0

另外,如果來自外部系統,則當然可以將其存儲爲字符串。 – Jordan

+0

哇,你快,我只是輸入類似的答案。我的理解是,對於大多數語言來說,如果你超過了它將要包含的最大數量的變量類型。我猜mysql是不同的(不是編程語言,或者哈哈)謝謝你的回答。 – Wes

+0

哈哈很高興你能解決問題。以下是關於它用於溢出處理的一些MySQL文檔:http://dev.mysql.com/doc/refman/5.0/en/out-of-range-and-overflow.html – Jordan

2

重複值爲2147483647的錯誤狀態,它是在DB中聲明的字段的最大值。要插入的兩個值較大,可能會被限制爲最大值。

通過對DB