반응형
기본 키로 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 |
댓글