2016-12-16 61 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

相关问题