나는 규칙을 배우는 동안 여전히 매우 새롭기 때문에 인내심을 가지고 있습니다. mysql 스크립트에 문제가 있습니다. 매우 일반적인 1215 오류가 발생합니다 (외래 키를 만들 수 없음).오류 1215 외래 키 제약
이미 데이터 유형을 검사 했으므로 외래 키가 기본 키를 참조하며 여전히 기본 키를 참조하지 않습니다. 일하고있어.
The script. Issue is with the two final foreign keys
나는 규칙을 배우는 동안 여전히 매우 새롭기 때문에 인내심을 가지고 있습니다. mysql 스크립트에 문제가 있습니다. 매우 일반적인 1215 오류가 발생합니다 (외래 키를 만들 수 없음).오류 1215 외래 키 제약
이미 데이터 유형을 검사 했으므로 외래 키가 기본 키를 참조하며 여전히 기본 키를 참조하지 않습니다. 일하고있어.
The script. Issue is with the two final foreign keys
다음과 같이 선언이어야합니다 :
먼저 외래 키를 선언해야합니다
Create table(id ... , foreignKEY INT NOT NULL,
Constraint FOREIGN KEY(foreignKEY) REFERENCES table_refered(it primary key));
// foreignKEY-을 선언 한 후 다음 컬럼으로 첫 번째 선언하고 있어야합니다 그것으로 FOREIGN KEY
GOOD LUCK.
방금 참조 된 테이블과 열에 대한 구문을 실수로 변경했습니다.
당신은 예를 들어 쓴 :
foreign key (rm_id) references roomate.rm_id,
그것은해야한다 :
foreign key (rm_id) references roomate(rm_id),
구문은 여기에 설명되어 있습니다 : http://dev.mysql.com/doc/refman/5.7/en/create-table-foreign-keys.html
당신의 실수 PERCENTAGE
테이블에 참조 key
를 할당 할 때. 참조 키는 이와 같아야합니다. 대신이의
FOREIGN KEY (RM_ID) REFERENCES ROOMMATE(RM_Id)
FOREIGN KEY (ITM_Id) REFERENCES ITEM(ITM_Id)
는 :
FOREIGN KEY (RM_ID) REFERENCES ROOMMATE.RM_Id
FOREIGN KEY (ITM_Id) REFERENCES ITEM.ITM_Id
난 당신이 기본 키/고유 제한 조건에 이름을 할당하지 않은 통지하고 당신도 당신의 외래 키에서이를 생략 할 수 있습니다. 또한 간단한 (단일 열) 키의 경우 열 선언과 함께 인라인으로 선언 할 수 있습니다. snipped 예 :
CREATE TABLE ITEM (ITM_ID INT(3) NOT NULL UNIQUE);
CREATE TABLE PERCENTAGE (ITM_ID INT(3) NOT NULL REFERENCES ITEM (ITM_ID));
감사합니다. –