我有一个近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