如果我有一個數據庫中的兩個關係,就像這樣:SQL ON DELETE CASCADE,刪除發生在哪一種方式?
CREATE TABLE Courses (
CourseID int NOT NULL PRIMARY KEY,
Course VARCHAR(63) NOT NULL UNIQUE,
Code CHAR(4) NOT NULL UNIQUE
);
CREATE TABLE BookCourses (
EntryID int NOT NULL PRIMARY KEY,
BookID int NOT NULL,
Course CHAR(4) NOT NULL,
CourseNum CHAR(3) NOT NULL,
CourseSec CHAR(1) NOT NULL
);
和我建立兩者之間的外鍵關係,是這樣的:
ALTER TABLE BookCourses
ADD FOREIGN KEY (Course)
REFERENCES Courses(Code)
ON DELETE CASCADE;
然後你就可以看到Course
屬性在BookCourses
關係中引用Courses
關係中的Code
屬性。
我的問題是當兩個關係中的任何一個發生刪除時,刪除級聯的方式是什麼?如果我刪除Courses
關係中的一個元組,它是否會刪除BookCourses
關係中的所有引用元組,還是相反?
謝謝你的時間。
一個只有想知道爲什麼了'Categories'表中有一個'CourseID'作爲主鍵,而'Courses'表具有'EntryID'。你真的需要重新考慮你的命名選擇。 –
請用戶使用正確的列名以避免混淆並清除數據庫結構。 –