2

次のスキームを考慮してください。

テーブル関係

関連付けが削除された場合、その関連付けに属するすべての犬も削除する必要があることを確認する必要があります。

ただし、これを行っている間、Association テーブルと Dog テーブルの間に実際に存在するリレーションを維持することは理にかなっています。各アソシエーションは複数の Dog を持つことができますが、1 つの Dog は 1 つの Association にしか属さないためです。したがって、外部キーの構成は正しいと思います。

カスケードをどこかに適用する必要があると思いますが、どこにあるのかわかりません。:(

ご意見をお聞かせください

4

2 に答える 2

5

ターゲットテーブルとして「Dog」を選択し、次に「Foreign Keys」タブを選択すると、「association_id」フィールドの外部キーが選択されているはずです。「削除時」の「外部キーオプション」セクションに表示されるポップアップ値を確認すると、「CASCADE」が表示されます(上のスクリーンショットに表示されているものと同様です。「CASCADE」が表示されていない場合は、単に「CASCADE」を選択してください。それ)。

于 2011-05-01T15:14:44.717 に答える
2

Dog とアソシエーションの間の関係を追加するには: Dog プロパティで、association.id を参照する association_id 列の新しい外部キーを追加します。[削除時] を選択しCASCADEます。

これらの手順はクエリ ウィンドウでも実行できます (個人的には、データベース構造を印刷する必要がある場合にのみグラフィカル ツールを使用します)。

ALTER TABLE Dog ADD CONSTRAINT `FK_byAssociationIdDog` 
 FOREIGN KEY(association_id)  
REFERENCES Association(id) ON UPDATE CASCADE ON DELETE CASCADE;
于 2011-05-01T15:20:33.947 に答える