2009-10-23 6 views
-2

중복 인보이스에 관한 지난 토론 내용 다음과 같은 코드가 있습니다.외래 키 및 기본 키 오류

create table Invoice 
(
    companyID int, 
    invno varchar(50), 
    primary key (companyID,Invno) 
) 

잘 처리되었습니다.

하지만 다른 테이블이 동일한 invcarat 인 필드처럼 가지고 이제 외부 키의 생성 동안 발생했습니다 invcarat (invno)하지만 에러 외래 키를 생성해야

companyID(int)   invno(varchar) 
------------------------------------------------------ 

그 기준에 "기본 키 표 송장이 존재하지 않습니다 ". 나는 위와 같이 인보이스에 기본 키를 만들었습니다.

친절하게 대답하는 관계를 생성하는 방법 두 테이블.

미리 감사드립니다.

답변

2

외래 키는 invcarat (companyID, invno)이어야하며 invoice (companyID, invno)을 참조해야합니다. invno 열 자체는 기본 키가 아니므로이 키를 외래 키 대상으로 사용할 수 없습니다. 고유 한 키를 만들 수도 있지만 기본 키만 변경하면됩니다.