2013-03-24 72 views
0

你好!只有當它不存在時才插入

我們正在研究多線程應用程序。

我們需要將信息插入到MySQL數據庫中,只有在以前沒有插入過。

當前的SQL查詢:

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

有600多條記錄每秒插入,我想避免使用前一個選擇查詢。任何可能的解

在此先感謝!

+0

http://stackoverflow.com/questions/1361340/how-to-insert-if-not-exists-in-mysql – Aiias 2013-03-24 04:18:04

+0

的可能重複你的答案就在這裏http://stackoverflow.com/questions/2219786/best-way-to-avoid-duplicate-entry-into-mysql-database – 2013-03-24 04:18:36

回答

2

INSERT IGNORE是你在找什麼。

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

+0

是的,我搞砸了(在Google上搜索'insert ignore mysql'給了我5.5)。但是,我會建議更新您的答案,以鏈接到您剛剛評論過的頁面;您鏈接到的頁面沒有引用'INSERT IGNORE' – 2013-03-24 04:23:38

+0

@ChrisForrence完成,很好找,感謝! – 2013-03-24 04:24:38

0

如果表的主鍵是scan_id和address(或可能只有scan_id)的組合,那麼表本身將拒絕重複值。

相關問題