我有一個近5000個我正在進入MySQL數據庫的對象數組。忽略主鍵重複
該數組有一個索引'crn',並且MySQL表中的對應列是主鍵。
有什麼辦法可以告訴mysql跳過一個條目,如果它檢測到重複的主鍵而不是停止執行腳本?
我可以在插入每一行之前檢查表格,但是因爲我只希望在5000個左右的對象中有1或2個重複項,所以它看起來會非常昂貴。
我有一個近5000個我正在進入MySQL數據庫的對象數組。忽略主鍵重複
該數組有一個索引'crn',並且MySQL表中的對應列是主鍵。
有什麼辦法可以告訴mysql跳過一個條目,如果它檢測到重複的主鍵而不是停止執行腳本?
我可以在插入每一行之前檢查表格,但是因爲我只希望在5000個左右的對象中有1或2個重複項,所以它看起來會非常昂貴。
由於@KingCrunch指出,INSERT IGNORE可以爲你做的。
不過,若你需要了解的重複,你可能要考慮INSERT ...對重複密鑰更新
見http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html
你怎麼可以插入具有重複的主鍵的一行首先的? – Acn 2012-01-11 10:09:19
@BigFatPig:就是這一點。我不想插入它。如果碰撞,就忽略它(即跳過該行的插入) – xbonez 2012-01-11 10:09:52
如何插入對象?你使用哪種腳本語言? – Fivell 2012-01-11 10:14:25