一見すると、私のユースケースは非常に単純です。私は2つのテーブルを持っています:order
とline
。とをorder
含みid
、テーブル内にへの参照があります。残念ながら、これは非常に古いシステムであり、更新/削除トリガーで外部キーを使用することはできません(つまり、システムを変更することはできません)。datetime
line
id
order
私はこの質問を読んでいて、同様のことをするために自分の質問を書きました。基本的に、注文が2年以上経過している場合は常に、注文が削除されline
たときに関連付けられているすべてのを削除したいと思います。order
DELETE a
FROM
`line` AS a
LEFT JOIN `order` AS b ON a.`order_id` = b.`id`
WHERE
b.`datetime` < DATE_SUB(NOW(), INTERVAL 2 YEAR);
現在、何も起きていません。影響を受ける行はありません。同じjoinとwhere句を使用して、クエリを単にselectに変更すると、多くの結果が正常に返されます。
ここで何が欠けていますか?