나는 USERS와 FRIENDSHIPS라는 두 개의 테이블을 가지고 있는데, FRIENDSHIPS 테이블에있는 사용자들 간의 우정을 기록하는 것이 필요하다. 나는 USERS 테이블에서 기본 사용자에 대해 두 개의 외래 키를 사용하고 다른 사용자에게는 그가 친구 인 두 개의 외래 키를 사용해야한다고 생각한다. 방금 학습을 시작 했으므로 어느 정도 Workbench를 사용하는 것으로 알고 있습니다. 내 질문은 동일한 테이블에서 두 개의 외래 키를 설정하는 방법입니다.한 테이블에서 두 개의 외래 키를 설정하는 방법은 무엇입니까?
0
A
답변
1
잘못된 방식으로 외래 키가 표시됩니다.
"사용자"는 여러 "우정"(0, 하나 이상)을 가질 수 있지만 "우정"은 오직 두 개의 "사용자"와 관련 될 수 있습니다.
이 두 개의 열이from_userid
이 분명 아니었다 경우
CONSTRAINT FK_friendship_from FOREIGN KEY (from_userid) REFERENCES user (id)
ON UPDATE CASCADE ON DELETE CASCADE
CONSTRAINT FK_friendship_to FOREIGN KEY (to_userid) REFERENCES user (id)
ON UPDATE CASCADE ON DELETE CASCADE
to_userid
명명 된 가정, 귀하의 "우정"테이블에 두 개의 제약 조건을 추가, 당신은 "사용자에게 외부 키를 추가하지 않습니다 "테이블. 외부 키는 하위 테이블에서 상위 테이블을 가리켜 야합니다. 예를 들어
:이 테이블의 내용에 따르면
user
id name
-- ------
2 Peter
3 Paul
5 Mary
friendship
from_userid to_userid
----------- ---------
2 3
2 5
3 3
은, 피터 (id=2
은), 폴 (id=3
)와 마리아 (id=5
를) 두 친구가있다. 그리고 Paul (id=3
)에게는 한 친구 Paul (그 자신, id=3
)
관련 문제
- 1. SSIS가 테이블에서 외래 키를 얻는 방법은 무엇입니까?
- 2. 테이블에서 외래 키를 삭제하는 방법은 무엇입니까?
- 3. 삭제시 외래 키를 기본값으로 설정하는 방법은 무엇입니까?
- 4. 외래 키를 null로 설정하는 방법은 무엇입니까? (symfony)
- 5. 외래 키를 null로 설정하는 방법은 무엇입니까?
- 6. cakePHP에서 두 개의 외래 키를 정의하는 방법
- 7. 두 개의 다른 데이터베이스 사이에 MySQL의 외래 키를 설정하는 방법?
- 8. 테이블에서 여러 개의 외래 키를 사용하여 하나의 기본 키를 선택하십시오.
- 9. 두 개의 외래 키를 고유하게 만드는 방법은 무엇입니까?
- 10. 외래 키를 설정하고 여러 테이블에서 데이터를 검색하거나 삭제하는 방법은 무엇입니까?
- 11. 레일에서 외래 키를 설정하는 방법
- 12. 두 개의 외래 키를 기반으로하는 테이블이 있습니다
- 13. 관계 외래 키를 설정하는 방법
- 14. 두 테이블에서 쿼리 할 때 외래 키를 사용하는 방법
- 15. EF 코드 첫째, 한 테이블에서 다른 테이블로 두 개의 외래 키를 얻으려면 어떻게해야합니까?
- 16. 동일한 테이블에서 여러 개의 외래 키를 가질 수 있습니까?
- 17. 다른 테이블을 통해 계층 적 외래 키를 설정하는 방법은 무엇입니까?
- 18. MySQL 테이블에서 외래 키를 동적으로 삭제하는 방법은 무엇입니까?
- 19. iOS SQLite : 외래 키를 자동으로 설정하는 방법은 무엇입니까?
- 20. 외래 키를 추가하는 방법은 무엇입니까?
- 21. 외래 키를 지정하는 방법은 무엇입니까?
- 22. 외래 키 값을 'NULL'로 설정하는 방법은 무엇입니까?
- 23. 하나의 행에 2 개의 외래 키를 할당하는 방법은 무엇입니까?
- 24. MySQL DB에서 외래 키를 식별하는 방법은 무엇입니까?
- 25. 동일한 테이블에서 기본 키를 두 번 참조하십시오.
- 26. 두 개의 외래 키를 하나의 기본 키로 매핑 (XML 매핑)
- 27. 먼저 Entity Framework 5 코드에서 두 개의 외래 키를 사용하여 기본 키를 만드는 방법은 무엇입니까?
- 28. SQL Server의 테이블에 2 개의 외래 키를 추가하는 방법은 무엇입니까?
- 29. 동일한 테이블에서 두 개의 기본 키를받는 외래 키 - Fluent Nhibernate
- 30. 레일을 통해 컨트롤러를 통해 외래 키를 설정하는 방법은 무엇입니까?