0
我不斷收到錯誤代碼'ORA-02270',無論我嘗試什麼,我似乎無法修復它。下面是我的創建表語句:這個錯誤是什麼意思? SQL錯誤:ORA-02270:這個列表沒有匹配的唯一或主鍵
CREATE TABLE student
(
studentID CHAR(8) PRIMARY KEY,
studentName VARCHAR(25) NOT NULL,
studentAddress VARCHAR(30) NOT NULL,
studentDOB DATE NOT NULL,
studentGender CHAR(1) NOT NULL CHECK ((studentGender = 'F') OR (studentGender = 'M')),
studentNationality VARCHAR(15) NOT NULL,
studentCourse VARCHAR(30) NOT NULL,
studentSemesterExcellent CHAR(1) NOT NULL CHECK ((studentSemesterExcellent = 'Y') OR (studentSemesterExcellent = 'N'))
);
CREATE TABLE leaseAgreement
(
leaseNo CHAR(6) PRIMARY KEY,
studentID CHAR(8) NOT NULL,
leaseAccommodationType VARCHAR2(10) NOT NULL,
leaseDuration NUMBER NOT NULL,
leaseStartDate DATE NOT NULL,
leaseEndDate DATE,
studentSemesterExcellent CHAR(1) NOT NULL CHECK ((studentSemesterExcellent = 'Y') OR (studentSemesterExcellent = 'N')),
FOREIGN KEY (studentID) REFERENCES student(studentID),
FOREIGN KEY (studentSemesterExcellent) REFERENCES student(studentSemesterExcellent)
);
我不允許從同一個表有兩個外鍵?請有人解釋這個錯誤,並指出我在正確的方向。謝謝。
如錯誤消息所述,外鍵必須在父表中引用主鍵或唯一約束。 'student.studentSemesterExcellent'既不是。 「studentSemesterExcellent」這個奇怪的外鍵背後的邏輯並不完全清楚 – mustaccio