Mysql 错误1452:无法添加或更新子行
我遇到了一个奇怪的问题,我试图向引用另一个表的一个表添加外键,但由于某种原因失败了。由于我对MySQL的了解有限,唯一可能被怀疑的是,在另一个表上有一个外键引用了我试图引用的表 下面是我的表关系的图片,通过workbench:relationships生成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
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)