Mysql 错误1452:无法添加或更新子行

Mysql 错误1452:无法添加或更新子行,mysql,sql,database,jsp,foreign-keys,Mysql,Sql,Database,Jsp,Foreign Keys,我遇到了一个奇怪的问题,我试图向引用另一个表的一个表添加外键,但由于某种原因失败了。由于我对MySQL的了解有限,唯一可能被怀疑的是,在另一个表上有一个外键引用了我试图引用的表 下面是我的表关系的图片,通过workbench:relationships生成 CREATE TABLE `beds` ( `bedId` int(11) NOT NULL, `wardId` int(11) DEFAULT NULL, `depId` int(11) DEFAULT NULL, `des

我遇到了一个奇怪的问题,我试图向引用另一个表的一个表添加外键,但由于某种原因失败了。由于我对MySQL的了解有限,唯一可能被怀疑的是,在另一个表上有一个外键引用了我试图引用的表

下面是我的表关系的图片,通过workbench:relationships生成

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$$


这个

正在告诉您,您插入的行需要一个对应的
department/department\u id
值作为您插入到列
depId
中的值(正如Omesh指出的)。重要的是:

部门Id)参考部门(部门Id


换句话说,您试图在一个不存在的科室中创建一张床。

确保在
科室
表中有
科室Id=4555
的条目。
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')
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)