这是一张桌子
Id Date Name vendor
1 | 123 | jungle | qwe
2 | 43 | jungle | qwe
3 | 678 | jungle | ewq
4 | 678 | jungle | ewq
5 | 678 | jungle | ewq
6 | 678 | jungle | hgjghj
此脚本从表中删除名称列中具有重复值且供应商值相同的行。只留下一个独特的行。该脚本也通过 XHR ajax call 执行$.post()
,在单击前端的按钮后。
$sql = DELETE x
FROM $table x
JOIN
( SELECT vendors
, email
, MIN(lead_id) min_lead_id
FROM $table
WHERE vendors = $vendor
GROUP BY vendors
, email
) y
ON y.vendors = x.vendors
AND y.email = x.email
AND y.min_lead_id <> x.lead_id;
mysql_query($sql, $conn);
echo json_encode($foo);
和结果
Id Date Name vendor
1 | 123 | jungle | qwe
3 | 678 | jungle | ewq
6 | 678 | jungle | hgjghj
现在有了一张 50k 的桌子,它在两秒钟内完成。或者更确切地说,它通过echo json_encode($result);
. 现在,我假设该过程已完成,但是在进入我的 mysql 表并一次又一次地刷新之后,我发现 mysql 仍在运行,因为表中报告的总行数不断变化,就好像它仍在运行查询一样。
如何echo json_encode($result);
等待数据库完成更新?或者有没有更好的方法来解决这个问题?谢谢。
$("#complete_dedupe").live("click", function(e) {
e.preventDefault();
table_name = $('#IMEXp_import-selectTable-select option:selected').val();
$.post("dedupevendor.php", {"table": table_name}, function(data) {
count_dedupe = 0;
count_dedupe = data;
$("#dupe_vendor").append(count_dedupe);
$("#tr2").fadeIn("slow");
vendor = $("#vendor_hidden").val();
$("#edit_par4").append(vendor);
}, "json")
});
通过不断刷新 phpmyadmin,圈出的数字会在大约不到一分钟的时间内发生变化。这只发生在我运行重复数据删除脚本之后并且脚本已经从 ajax 调用返回之后。图片如下