2015-12-08 27 views
0

我有一個動態獲取結果集(campaignList)我將其插入表中。插入並刪除不在結果集中的行

foreach($campaingList as $campaignset) { 

    $c_res = $campaignset->getData(); 

    $sql = "INSERT IGNORE INTO campaigns (id, campaign_id, campaign_name) VALUES (". $data["id"] .", ". $c_res["id"] .", '". $c_res["name"] ."')"; 

} 

這按預期工作。

我的問題是,我如何刪除不在當前提取的結果集中的舊行? 例如,如果表中有200行,並且下一次它將在請求中獲得180個結果。我該如何插入,刪除結果集中找不到的20行?(campaignList)

+0

您也可以在插入之前刪除每一行! – Jinandra

+0

你可以添加一列來標記'更新'行嗎?如果在處理之前將其設置爲0,則在每次插入時將其設置爲1,然後刪除仍然爲0的任何數據。但插入之前刪除所有記錄可能會更容易,因爲插入操作只會添加記錄。取決於你插入的原因以及是否要更新現有記錄。 – Kickstart

+0

首先刪除表格*廣告系列*(刪除廣告系列)中的所有行,然後執行插入操作。 –

回答

0

刪除所有的行將做到這一點。