2012-01-11 186 views
0

我有一個近5000個我正在進入MySQL數據庫的對象數組。忽略主鍵重複

該數組有一個索引'crn',並且MySQL表中的對應列是主鍵。

有什麼辦法可以告訴mysql跳過一個條目,如果它檢測到重複的主鍵而不是停止執行腳本?

我可以在插入每一行之前檢查表格,但是因爲我只希望在5000個左右的對象中有1或2個重複項,所以它看起來會非常昂貴。

+0

你怎麼可以插入具有重複的主鍵的一行首先的? – Acn 2012-01-11 10:09:19

+0

@BigFatPig:就是這一點。我不想插入它。如果碰撞,就忽略它(即跳過該行的插入) – xbonez 2012-01-11 10:09:52

+0

如何插入對象?你使用哪種腳本語言? – Fivell 2012-01-11 10:14:25

回答

6

使用INSERT IGNORE,而不是僅僅INSERT

+0

這會忽略重複的主鍵並強制插入,還是會跳過插入? – xbonez 2012-01-11 10:10:19

+0

如果你想更新,如果發現重複,你可以運行INSERT INTO表(值)VALUES(1)ON DUPLICATE KEY UPDATE value = VALUES(值)' – Geoffrey 2012-01-11 10:11:59

+1

這將跳過插入 – Geoffrey 2012-01-11 10:12:24