我有下一个问题:
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为空时,查询与条件不匹配。