2012-06-22 60 views
3
INSERT INTO `ree`.`media` 
(`CREATEDATE`, `FILETYPE`, `MIMETYPE`, `MLSNUMBER`, `MODIFYDATE`, `POSITION`, `URL`) VALUES 
('2011-12-27T15:00:16', 'PRIMARY PHOTO', 'image/jpeg', 5030011414, '2011-12-27T15:00:16', 1, 'http://image.realcomponline.com/photos.rps?PATH=PROPERTY/57FA/57FAA44C48854C/3QQGONGA03I7CN.jpg&g=100&sp=0&l=0&t=0&r=10000&b=10000&o=0&1cf=0&w=320&h=240'), 
('2011-12-27T15:00:18', 'PRIMARY PHOTO', 'image/jpeg', 5030011507, '2011-12-27T15:00:18', 1, 'http://image.realcomponline.com/photos.rps?PATH=PROPERTY/6FC7/6FC7B6F88D8F45/3SQGONGA01RXH1.jpg&g=100&sp=0&l=0&t=0&r=10000&b=10000&o=0&1cf=0&w=320&h=240') 

錯誤:鍵「UNEEK」重複項「2147483647-1」爲什麼我的MySQL唯一鍵失敗?

好像我MLSNUMBER獨特的鍵不區分兩個插件之前,分析整個號碼。

雙方開始5030011 ...

這裏是我建立我的關鍵是: 添加唯一uneekMLSNUMBERPOSITION

有沒有建立該鍵的方式它接受整個10位數字而不是前7位數字?

在此先感謝!

回答

5

您已經用完了int的範圍。 2147483647 = 2^31 - 1 您可能會將該字段中的int改爲64位:

ALTER TABLE media MODIFY COLUMN MLSNUMBER BIGINT NOT NULL; 
(Modify unsigned and not null for your needs). 
+0

他沒有'AUTO_INCREMENT'或他不使用它。他明確提供了這一欄的值。 –

+0

感謝您的幫助,Andrew! – Blenderer

4

看來你已經定義了MLSNUMBER列作爲整型,和大的值越來越截斷至最大32位帶符號的價值,這是2147483647

我驗證了這通過嘗試將值5030011507添加到Int列,並最終存儲值2147483647.它與您的錯誤消息中的編號相匹配。值被截斷時,我也收到警告。

您可以嘗試更改列類型BIGINT,這將允許值高達9223372036854775807

+0

謝謝你的幫助,阿美! – Blenderer