4

UPDATE、INSERT、および DELETE のトリガーを持つ 2 つの (InnoDB) テーブルがあります。テーブルで直接作業すると、問題なく動作します。さらに、tableA の行を削除すると、tableA.id によって参照される tableB のすべての行も削除されると、外部キー制約があります。それも機能しますが、問題は次のとおりです。

tableA の DELETE は、tableA の DELETE トリガーをトリガーします。次に、制約によって tableB の行が削除されます、tableBの DELETE トリガーは呼び出されません。なんで?制約はトリガーをトリガーしませんか?

ありがとう。

(トリガーはAFTER DELETEです。BEFORE DELETEでも試してみましたが成功しませんでした。)

4

1 に答える 1

8

削除が外部キーによって発生した場合、トリガーは起動されません。

説明書より

現在、トリガーは外部キー アクションによってアクティブ化されません。

于 2013-03-06T20:27:58.013 に答える