我不确定我是否能描述这种情况。
我正在开展一个项目,我需要在两个表之间进行比较,然后删除所有不匹配的记录。因此主表应该只有匹配的数据。
我的问题是,在运行循环时,在第一次迭代时,它会删除除第一次引用之外的所有不匹配数据。
这是我的代码..
$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 :(得分:0)
只需使用SQL:
DELETE FROM master_table
WHERE match_column NOT IN (
SELECT DISTINCT match_column
FROM other_table);