2012-01-11 110 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