我试图在MySQL中创建3个表,但收到错误代码1215。

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

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

执行上述脚本时没有问题-两个表都已创建。
执行此脚本时:
CREATE TABLE LPC.DailyAttendancePrice
(
    AttendanceID CHAR(6),
    DateAttended DATE,
    TotalPrice DECIMAL(5,2),
    PRIMARY KEY (AttendanceID, DateAttended),
    FOREIGN KEY (AttendanceID) REFERENCES ChildAttendance(AttendanceID),
    FOREIGN KEY (DateAttended) REFERENCES ChildAttendance(DateAttended)
);

然后我收到错误。我不确定这个错误是怎么发生的,所以非常感谢您的帮助,

最佳答案

不是百分之百确定,但不是这样,您可以只对其他表中的主键进行外键引用吗?
在最后一行中,您试图引用日期而不是主键。

09-09 20:17