仅在不存在时插入

时间:2013-03-24 04:11:11

标签: php mysql multithreading insert

大家好!

我们正在开发一个多线程应用程序。

我们需要将信息插入MySQL数据库,只有在之前没有插入的情况下才会插入。

当前的SQL查询:

INSERT INTO core_links SET scan_id = '$scan->id', address = '$link_new'

每秒插入的记录超过600条,我希望以前不要使用选择查询。任何可能的解决方案?

提前致谢!

2 个答案:

答案 0 :(得分:2)

INSERT IGNORE正是您要找的。

INSERT IGNORE INTO core_links SET scan_id = '$scan->id', address = '$link_new'

答案 1 :(得分:0)

如果表的主键是scan_id和address(或者可能只是scan_id)的组合,那么表本身将拒绝重复的值。