2013-05-20 5 views
0

나는 전혀 이해하지 못하는 오류가 발생합니다. 나는 테이블을 만들려고 여기에 코드입니다 :테이블 오류 : 1452 자식 행을 추가하거나 업데이트 할 수 없습니다 : 외래 키?

create table matricula.curso_estudiantes 
(codigo varchar(8) NOT NULL, 
studentid varchar(8) NOT NULL, 
grade varchar(1) NOT NULL, 
term numeric(5) NOT NULL, 

PRIMARY KEY (codigo, studentid, term), 
    FOREIGN KEY (codigo) 
      REFERENCES curso(codigo), 
     FOREIGN KEY (studentid) 
      REFERENCES estudiantes(studentid)); 

insert into matricula.curso_estudiantes values 
("COMP2120","X00101010","C",201010), 
("COMP2315","X00101010","B",201030), 
("COMP2120","X00121111","B",201030), 
("COMP2315","X00121111","A",201030), 
("COMP2120","X00121234","A",201130), 
("COMP2900","X00101010","C",201110), 
("COMP3850","X00101010","B",201110), 
("COMP2900","X00121111","B",201130), 
("COMP3850","X00121111","A",201130), 
("COMP2315","X00121234","A",201130), 
("COMP2400","X00101010","C",201210), 
("MATH1500","X00101010","B",201210), 
("COMP2400","X00121111","B",2), 
("MATH1500","X00121111","A",2), 
("COMP3850","X00121234","A",2), 
("MATH1500","X00121234","W",2); 

하지만 대신이 오류를 얻을 :

Error Code: constraint fails (matricula . curso_estudiantes , CONSTRAINT curso_estudiantes_ibfk_2 FOREIGN KEY (studentid) REFERENCES estudiantes (studentid))

무슨 문제가 될 것 같다? 그것은 테이블을 만들지 만, 그게 나에게 그 문제를주고 어떤 레코드도 테이블에 삽입되지 않는다. 어떤 쿼리가이를 해결합니까? 나는 많은 참고 자료와 예제를 사용하여 교수를 구성하기 때문에 mySQL에 익숙하지 않다. 미리 감사드립니다.

답변

0

estudiantes 테이블에 해당 레코드가 있습니까?

FOREIGN KEY은 참조 된 테이블에 데이터가 필요하다는 의미이거나 INSERT은 작동하지 않습니다.

수정하려면 먼저 estudiantescurso 테이블을 만들어 유효한 데이터로 채 웁니다.

+0

이미 두 개의 테이블을 만들었습니다. 하나는 "estudiantes", 다른 하나는 "curso"코스입니다.이 정보로 가득합니다 : http://i192.photobucket.com/albums/z30/FlameGhoul/Untitled.png http://i192.photobucket.com /albums/z30/FlameGhoul/Untitled1-1.png –

+0

'estudiantes' 테이블의 'studentid' 컬럼이 인덱스입니까? –

+0

또한 문제를 조각으로 나눠보십시오 : 테이블 만들기 및 레코드 삽입 (먼저 시도하십시오). –

관련 문제