次のクエリがあります。
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.areID が存在しない場合があり、b.areID でも同じになることがあるため、MySQL に存在する場合、文の寿命やそのようなものはありますか?
次のクエリがあります。
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.areID が存在しない場合があり、b.areID でも同じになることがあるため、MySQL に存在する場合、文の寿命やそのようなものはありますか?
「存在しない」とは、NULLになる可能性があることを意味すると思います。
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)
NULL 値で更新したくない場合は、areID が NULL の場合は条件に一致しないため、クエリは問題ありません。