SQL Server를 처음 사용하여 한 테이블의 외래 키를 다른 테이블의 기본 키에 연결하는 데 어려움이 있습니다. 여기에 내가 가진 무엇 :외래 키를 기본 키에 연결할 수 없습니다.
Create table "Projects"
(ProjectID Int identity(1,1) primary key,
ProjectName VarChar(30),
ProjStartDate smalldatetime,
)
그리고 세 번째 테이블에 연결을 시도 :
Create table "HrsWkd"
(HrsID Int identity(1,1) primary key,
ProjectID int references Projects(ProjectID),
HoursWorked int,
EmpID int references Employees(EmpID)
)
를이 내가 다음 두 번째 테이블을 생성
Create table "Employees"
(EmpID Int identity(1,1) primary key,
EmpNo Int,
EmpFName Varchar(30),
EmpLName Varchar(30),
JobID int references JobDetails(JobID)
)
내 첫 번째 테이블은
입니다
덧붙여 말하자면, (EmpID)는 '직원'의 잘못된 열을 가리킨다는 밑에 붉은 구불 구불 한 선이 있습니다.
나는 다음과 같은이 세 번째 테이블에 데이터를 입력하려고하면 :
메시지 547, 수준 16, 상태 0, 줄 12
:insert into HrsWkd values (1,1,50), (1,2,75), (2,3,85)
나는이 메시지가
INSERT 문이 FOREIGN KEY 제약 조건 "FK__HrsWkd__EmpID__68487DD7"과 충돌했습니다. 데이터베이스 "New_AP", 테이블 "dbo.Employees", 열 'EmpID'에서 충돌이 발생했습니다.
명세서가 종료되었습니다.
나는 지난 2 시간 동안 내 머리카락을 꺼내왔다. 나는 그것이 단순한 것이라고 생각하지만, 나는 그것을 볼 수 없다.
감사합니다.
는
제안 해 주셔서 감사합니다. 나는 그것을 시도하고 문제가 남아있다. 나는 그 문제를 잘못 파악했다고 생각한다. 실제 문제는 "HrsWkd"테이블과 마지막 라인 인 Employees (EmpID)에 링크되어있는 것으로 보입니다. HrsWkd 테이블에 EmpID에 대한 링크가 마음에 들지 않아 잘못된 열이라고 표시됩니다. . . . . . – twotoast
테이블 설정을 복제 한 후에 바보 같은 대답을 발견했습니다. 하지만 MariaDB를 사용하여 로컬 컴퓨터에서 실행하려면 약간 수정해야합니다. 그것은 효과가 있지만 다른 데이터베이스 엔진을 사용하고있다. SQL Server와 관련이 있고 테스트 할 기계가 없습니다. – andre