我有一個用戶(用戶)表,並且需要創建一個新表來跟蹤哪些用戶引用了其他用戶。所以,基本上,我在同一個表中的行之間創建了多對多的關係。不理解Sql Server錯誤
所以我想創建表UserReferrals列UserId和UserReferredId。我將兩個列都作爲複合主鍵。並且這兩列都是鏈接到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.
我沒有得到這個錯誤。級聯刪除僅刪除具有外鍵的行,對嗎?那麼它怎麼會導致「循環級聯路徑」?
感謝您的任何提示。
你是否確定你沒有意外地向後設置一個外鍵約束? – 2011-01-12 02:22:36
我剛剛檢查了好的措施。兩列都將User表顯示爲主鍵表,並將UserReferrals顯示爲外鍵表。 – 2011-01-12 02:25:35