以下はシナリオです
Table1
(Id, Name
)Table2
(Id, Name1, Name2, Type
)FK1
:とのName1
参照Table1.Name
On delete cascade
FK2
:とのName2
参照Table1.Name
On delete cascade
FK2
以下のエラーをスローします
エラー:
テーブル Table2 に FOREIGN KEY 制約 FK2 を導入すると、サイクルまたは複数のカスケード パスが発生する可能性があります。ON DELETE NO ACTION または ON UPDATE NO ACTION を指定するか、他の FOREIGN KEY 制約を変更します。
しかし、私のシナリオでは、エンティティが削除されているかどうかにName1
関係なくName2
、対応するエントリを削除するTable2
必要があります。
これがどのような問題を引き起こす可能性があるかを理解するのを手伝ってください。