2011-02-27 3 views
1

복합 기본 키가있는 테이블 "tbl_project_user_assignment"가 있습니다.이 복합 기본 키가 예상대로 작동하지 않는 이유는 무엇입니까?

은 각각 또한 프로젝트 및 사용자 테이블에 대한 외부 키를하는 PROJECT_ID의 구성 및

이러한 각각의

을 USER_ID된다. 순간

, 나는 ... 아래 표에

 
project_id | user_id 
-------------------- 
1   | 1 
1   | 2 

나는이 SQL 쿼리를 실행 ...

INSERT (PROJECT_ID tbl_project_user_assignment INTO 2 개 항목이 user_id) VALUES (2, 1);

무결성 제약 조건 위반이 : 1062 중복 항목을 '1'키 'FK_project_user'

FK_project_user 키가 있습니다

... 나는 다음과 같은 오류 메시지가 하나는 project_id를 tbl_project id에 연결하는 것이다.

내가 삽입있어 값이 고유하기 때문에이 나에게 이해가되지 않습니다 ...

어떤 아이디어가?

+0

세 테이블을 생성하기위한 코드를 게시 할 수 있습니까? –

답변

0

FK_project_user은 고유 키입니다. 일시적으로 해당 제약 조건을 삭제하고 삽입을 다시 시도하십시오.

삽입이 작동하는 경우 더 이상 표시되지 않는 제약 조건을 다시 작성하십시오. unique.

+0

고마워요 파블로, 그 자리에 있었어! – Tom

+0

아니요 Prob Tom! 기쁜 데 도움이되었습니다. –

0

나는 당신이해야한다고 생각 :

  • 외래 키 관계가 사용자에게
  • 외래 키 관계를 프로젝트
  • (프로젝트, 사용자)
  • 가능성이 기본 키에 고유 제한 조건 (프로젝트, 사용자) 조합 또는 별도의 키 필드 결합 된 PK를 선택하면 물론 추가 제약 조건이 필요하지 않습니다.

사용자에게 고유 한 제한 사항이있는 것 같습니다.

show create table 성명을 게시하면 더 많은 도움이됩니다.

관련 문제