2
두 개의 테이블을 만들 때 오류가 발생합니다. 이 다중 값 종속이었다, 그래서 나는 테이블을 분리하고이 함께했다 :MySQL 오류 코드 1452 외래 키 제약 조건
CREATE TABLE NAME (
NameID Integer NOT NULL AUTO_INCREMENT,
Name varChar(255) NOT NULL,
CONSTRAINT NAME_PK PRIMARY KEY(NameID)
);
CREATE TABLE PHONE (
NameID Integer NOT NULL,
PhoneNumber varChar(15) NOT NULL,
NumType varChar(5) NOT NULL,
CONSTRAINT PHONE_FK FOREIGN KEY(NameID)
REFERENCES NAME(NameID),
CONSTRAINT PHONE_PK PRIMARY KEY(NameID)
);
을하지만이 코드 값을 추가 할 때 :
INSERT INTO NAME (NameID, Name) VALUES (default, 'John Doe');
INSERT INTO PHONE (NameID, PhoneNumber, NumType) VALUES (default, '706-782-4719', 'Home');
나는 악명 높은 1452 오류가 나타날 수
Error Code: 1452. Cannot add or update a child row: a foreign key constraint fails (`phone_mcneill`.`PHONE`, CONSTRAINT `PHONE_FK` FOREIGN KEY (`NameID`) REFERENCES `NAME` (`NameID`))
첫 번째 테이블에 NameID 자동 증가가있는 것이 무엇을 의미하는지 모르겠습니다. 나는 그것을 외래 키일뿐 아니라 두 번째 것에 auto_increment 할 수 없다. 맞습니까? 도움에 미리 감사드립니다.
당신은 NameID에 대한 기본을 통과했지만, NameID이NAME
테이블을 가리키는하고 아무튼
NAME
테이블에서 삽입 된 레코드 ID가 기대되는 전화 테이블에 대한 삽입을 사용하여 테이블
PHONE
에
NameID
열 예에 외래 키 제약 조건을 정의