반응형
기본 키로 userID
가있는 user
테이블이 있습니다. Friends
라는 다른 테이블이 있습니다. Friends
테이블에는 UserID
및 FrndID
열로 표시되는 두 명의 사용자가 친구로 있습니다. 여기서 UserID
및 FrndID
는 user
테이블에서 userID
여야합니다.
데이터 무결성을 강화하고 싶습니다. 이런 걸 사용해도 될까요?
ADD CONSTRAINT `ufd_users_fk` FOREIGN KEY (`userId`, `friendId`)
REFERENCES `users` (`userId`, `userId`) ON DELETE CASCADE ON UPDATE CASCADE;
REFERENCES
users (
userId ,
userId )
가 열을 여러 번 올바르게 참조하고 있는지 알고 싶습니다. 2 개의 별도 제약 조건을 생성하지 않는 이유는 두 사용자가 모두 user
테이블에 있어야하기 때문입니다.
해결 방법
아니요, 두 개의 외래 키를 만들어야합니다.
ADD CONSTRAINT `ufd_users_fk` FOREIGN KEY (`userId`)
REFERENCES `users` (`userId`)
ON DELETE CASCADE ON UPDATE CASCADE,
ADD CONSTRAINT `ufd_users_fk` FOREIGN KEY (`friendId`)
REFERENCES `users` (`userId`)
ON DELETE CASCADE ON UPDATE CASCADE;
참조 페이지 https://stackoverflow.com/questions/18839599
반응형
'MySql' 카테고리의 다른 글
MySQL mysql 복제 필터링 (db 무시) (0) | 2020.12.22 |
---|---|
MySQL mySQL에서 "행 ID"로 정렬 된 SELECT 결과 가져 오기 (0) | 2020.12.22 |
MySQL mysql GROUP_CONCAT DISTINCT 여러 열 (0) | 2020.12.22 |
MySQL VARCHAR과 CHAR의 차이점은 무엇입니까? (0) | 2020.12.22 |
MySQL Facebook 좋아요 알림 추적 (DB 디자인) (0) | 2020.12.22 |
댓글