2012-08-24 2 views
4

이상한 문제가 있습니다. 다른 테이블을 참조하는 외래 키를 추가하려고하는데 어떤 이유로 실패합니다. MySQL에 대한 나의 제한된 지식으로, 의심 될 수있는 유일한 것은 내가 참조하려고하는 테이블을 참조하는 다른 테이블에 외래 키가 있다는 것입니다. 관계오류 1452 : 자식 행을 추가하거나 업데이트 할 수 없습니다.

CREATE TABLE `beds` (
    `bedId` int(11) NOT NULL, 
    `wardId` int(11) DEFAULT NULL, 
    `depId` int(11) DEFAULT NULL, 
    `desc` varchar(45) DEFAULT NULL, 
    PRIMARY KEY (`bedId`), 
    KEY `departmentId_idx` (`depId`), 
    KEY `wardId_idx` (`wardId`), 
    CONSTRAINT `departmentId` FOREIGN KEY (`depId`) 
    REFERENCES `department` (`Department_Id`) 
    ON DELETE NO ACTION ON UPDATE NO ACTION, 
    CONSTRAINT `wardId` FOREIGN KEY (`wardId`) REFERENCES `wards` (`wardId`) 
    ON DELETE NO ACTION ON UPDATE NO ACTION 
) ENGINE=InnoDB DEFAULT CHARSET=latin1$$ 

ERROR 1452: Cannot add or update a child row: a foreign key constraint fails 
(`asiahospitaldb`.`beds`, CONSTRAINT `departmentId` FOREIGN KEY (`depId`) 
REFERENCES `department` (`Department_Id`) 
ON DELETE NO ACTION ON UPDATE NO ACTION) 

SQL Statement: 

INSERT INTO `asiahospitaldb`.`Beds` (`bedId`, `wardId`, `depId`, `desc`) 
VALUES ('456', '7444', '4555', 'ikiuj') 

Relationship

+2

'department' 테이블에'Department_Id = 4555' 항목이 있는지 확인하십시오. – Omesh

답변

1

ERROR 1452: Cannot add or update a child row: a foreign key constraint 
fails (`asiahospitaldb`.`beds`, CONSTRAINT `departmentId` FOREIGN KEY 
(`depId`) REFERENCES `department` (`Department_Id`) ON DELETE NO 
`enter code here`ACTION ON UPDATE NO ACTION) 
: 여기

내 테이블 관계의 사진, 워크 벤치를 통해 생성 된입니다

은 입력 한 행에 너비가 depId (Omesh가 지적한대로)에 삽입 한 값에 대해 department/department_id에 해당하는 값이 필요하다고 알려줍니다. 중요한 비트가 여기에 있습니다 :

(depId) 참조 부서 (을 Department_Id) 즉

, 당신은 존재하지 않는 부서에 침대를 만들기 위해 노력했다.

관련 문제