错误 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
中的现有行,这是无效的并且被拒绝 按设计 .
这是 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
中的现有行,这是无效的并且被拒绝 按设计 .