ユーザー(ユーザー)のテーブルがあり、どのユーザーが他のユーザーを参照したかを追跡するために新しいテーブルを作成する必要があります。ですから、基本的には、同じ表の行間に多対多の関係を作成しています。SQL Serverエラーを理解しない
私はUserIdとUserReferredIdという列を持つテーブルUserReferralsを作成しようとしています。私は両方の列を複合主キーにしました。また、両方の列はUser.UserIDにリンクする外部キーです。
ユーザーを削除するとリレーションシップも削除する必要があるため、両方の外部キーをカスケード削除に設定します。ユーザーが削除されると、UserReferrals内の関連する行も削除する必要があります。
しかし、これは私にメッセージを与える:
'User' table saved successfully 'UserReferrals' table Unable to create relationship 'FK_UserReferrals_User'. Introducing FOREIGN KEY constraint 'FK_UserReferrals_User' on table 'UserReferrals' may cause cycles or multiple cascade paths. Specify ON DELETE NO ACTION or ON UPDATE NO ACTION, or modify other FOREIGN KEY constraints. Could not create constraint. See previous errors.
私はこのエラーを得ることはありません。カスケード削除では、外部キーを持つ行だけが削除されます。では、どうやって「サイクリング・カスケード・パス」を引き起こすのですか?
ありがとうございます。
誤って外部キー制約の1つを後方に設定していないことは間違いありませんか? –
私はちょうど良い措置のために再度チェックしました。両方の列には、Userテーブルがプライマリキーテーブルとして、UserReferralsが外部キーテーブルとして表示されます。 –