我有下一个问题:

UPDATE a, b, c SET a.deleted=1, b.deleted=1, c.deleted=1
WHERE a.id='$aID' AND a.com='$comID' AND b.areID=a.id AND c.areID=a.id

问题是,有时候C.AARID不存在,B.AARID也一样,那么,在MySQL中是否存在任何语句生命或类似的语句?

最佳答案

我假设,“不存在”意味着它可以是空的。

UPDATE a, b, c SET a.deleted=1, b.deleted=1, c.deleted=1
WHERE a.com='$comID' AND a.id='$aID' AND (b.areID=a.id OR b.areID IS NULL)
AND (c.areID=a.id or c.areID IS NULL)

如果不想用空值进行更新,那么查询应该正常,因为areID为空时,查询与条件不匹配。

09-25 19:55