我相信这会导致 5 分钟到 20 分钟的延迟,具体取决于记录的数量。我需要将它翻译成 LEFT JOIN 但需要一些帮助才能实现。
qry_arr = array(':bill_type' => "INT");
$sql = "update ".$billing_table." c set c.bill_type = :bill_type";
$sql .= " WHERE NOT EXISTS (SELECT s.abbreviation FROM state s WHERE s.abbreviation = c.out_location)";
$sql .= " and c.out_location != 'UNKNOWN' and c.out_location != ''";
UPDATE $billing_table c
LEFT JOIN state s ON s.abbreviation = c.out_location
SET c.bill_type = :bill_type
WHERE s.abbreviation IS NULL
AND c.out_location NOT IN ('UNKNOWN', '')
这与SELECT
不匹配行的a 的语法基本相同。请参阅仅在值不存在时返回行。只需替换SELECT ... FROM
为UPDATE
,并在SET
之前插入子句WHERE
。
确保您在out_location
和上有索引abbreviation
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句