以下のテーブルDISPLAY_TABは、親タブと子タブの両方を含むことができる自己参照テーブルです。親タブは複数の子タブを持つことができ、子タブは複数の親に属することができます。
メインテーブルと関係テーブルDISPLAY_TAB_GROUPINGの間に CASCADE DELETE 関係を確立したいので、親または子タブが削除されると、関係も自動的に削除されます (実際のタブレコードではなく関係のみ)。そのため、フィールド TAB_ID_R_1 および TAB_ID_R_2 テーブルのDISPLAY_TAB_GROUPINGにFOREIGN KEY 制約を作成し、 DISPLAY_TABテーブルの TAB_ID を参照しています。関係の 1 つに ON DELETE CASCADE を追加すると正常に動作しますが、両方で試してみると、「サイクルまたは複数のカスケード パスが発生する可能性があります」というエラーがスローされます。
両方の関係に対して ON CASCADE DELETE を設定するにはどうすればよいですか? これがどのようにサイクルを引き起こすのかわかりません-メインテーブルのレコードが削除されるたびに、関係テーブルの関連レコードのみを削除する必要があります.