只在不存在时插入into


Insert into only if it doesn't exists

大家好!

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

我们需要在MySQL数据库中插入信息,只有当它以前没有被插入过。

当前SQL查询:

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

有超过600条记录插入每秒,我想避免使用选择查询之前。有什么可能的解决方案吗?

提前感谢!

INSERT IGNORE就是你要找的。

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

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