错误 1452 - 外键约束失败

Error 1452 - Foreign key constraint fails

这是 MySQL 表中的两个:

CREATE TABLE LPC.ChildInformation
(
    ChildID CHAR(4),
    FirstName TEXT,
    Surname TEXT,
    Gender TEXT,
    DateOfBirth DATE,
    PRIMARY KEY (ChildID)
);

CREATE TABLE LPC.ChildAttendance
(
    ChildID CHAR(4),
    DateAttended DATE,
    TypeOfDay VARCHAR(15),
    TypeOfTime VARCHAR(15),
    PlannedArrivalTime TIME,
    PlannedDepartureTime TIME,
    ActualArrivalTime TIME,
    ActualDepartureTime TIME,
    PRIMARY KEY (ChildID, DateAttended),
    FOREIGN KEY (ChildID) REFERENCES ChildInformation(ChildID)
);

执行以下查询没有任何问题:

USE LPC;
INSERT INTO ChildInformation(ChildID, FirstName, Surname, Gender, DateOfBirth)
VALUES('C002', 'Shanaya', 'Talang', 'Female', '2010/02/03');

然而,这个查询没有:

USE LPC;
INSERT INTO ChildAttendance(ChildID, DateAttended, TypeOfDay, TypeOfTime, PlannedArrivalTime, PlannedDepartureTime, ActualArrivalTime, ActualDepartureTime)
VALUES ('C002','2015/01/26', 'Weekday', 'AfterSchool', '15:40:00', '17:30:00', '15:40:00', '17:47:00');

出现以下错误消息: 错误代码:1452。无法添加或更新子行;外键约束失败...

我曾在别处寻求建议,但没有找到对我有帮助的东西。非常感谢任何有用的建议,因为我需要尽快解决这个问题。谢谢:)

这可能只是一个拼写错误:您插入 ChildInformation 的 child 的 ChildID 为 "C001",但您插入 [=] 的行12=] 引用 "C002" 的 ChildID

由于您明确定义了一个约束,ChildAttendance 中的行必须引用 ChildInformation 中的现有行,这是无效的并且被拒绝 按设计 .