사용자 테이블 (User)이 있고 다른 사용자를 참조한 사용자를 추적하기 위해 새 테이블을 만들어야합니다. 그래서 기본적으로 동일한 테이블의 행 사이에 다 대다 관계를 만듭니다.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.
나는이 오류가 발생하지 않습니다. 계단식 삭제는 외래 키가있는 행만 삭제합니다. 맞습니까? 그렇다면 어떻게 "사이클링 캐스케이드 경로"가 발생할 수 있습니까?
모든 정보 주셔서 감사합니다.
우연히 외래 키 제약 조건 중 하나를 실수로 설정하지 않았습니까? –
방금 다시 좋은 측정을 확인했습니다. 두 열 모두 User 테이블을 기본 키 테이블로, UserReferrals를 외래 키 테이블로 표시합니다. –