2016-12-16 52 views
0

我不確定我能否描述這種情況。比較2表並保留唯一匹配的數據(基於列)並刪除不匹配的

我正在開發一個項目,我需要在兩個表格之間進行比較,然後刪除所有不匹配的記錄。所以主表應該只有匹配的數據。

什麼是我的問題是,在運行循環的時候,在第一次迭代中,它將刪除除第一個參考的所有無與倫比的數據..

這裏是我的代碼..

$refTableData2 ="SELECT DISTINCT $oColoum FROM $oTable"; 
               $refTableData2 = mysqli_query($con, $refTableData2); 
               if (mysqli_num_rows($refTableData2) > 0) { 
                while($rerow2 = mysqli_fetch_assoc($refTableData2)) { 

                 $rTableData2= $rerow2[''.$oColoum.'']; 

                 $delete=mysqli_query($con,"DELETE FROM $mTable WHERE $mColoum != '$rTableData2'"); 

                } 
               } 

任何幫助將高度讚賞。

謝謝

回答

0

只需使用SQL:

DELETE FROM master_table 
WHERE match_column NOT IN (
SELECT DISTINCT match_column 
FROM other_table); 
+0

你是我的英雄兄弟!這工作! – Khalid

相關問題