数据库表中on delete cascade
时间: 2024-11-23 22:10:03 浏览: 6
表空间的创建、删除-oracle数据库基础
`ON DELETE CASCADE` 是一种SQL约束,用于关联两个或更多数据库表之间的引用完整性规则。当主表(通常是父表或上级表)中的某个记录被删除时,这个规则会自动执行相应的操作,即从依赖于主表的任何子表(称为下属表或下级表)中删除所有与已删除记录相关的记录。这是一种级联删除策略,简化了数据一致性维护,避免手动删除大量相关数据的繁琐过程。
例如,在学生和课程的关系中,每个学生可以选修多门课程。如果有一名学生被删除,与其关联的所有课程记录也将自动被删除,因为设置了 `ON DELETE CASCADE`。在SQL语句中,这个约束通常应用在外键上:
```sql
CREATE TABLE Students (
StudentID INT PRIMARY KEY,
Name VARCHAR(50),
FOREIGN KEY (CourseID) REFERENCES Courses(CourseID) ON DELETE CASCADE
);
CREATE TABLE Courses (
CourseID INT PRIMARY KEY,
CourseName VARCHAR(50),
TeacherID INT
);
```
在这个例子中,如果删除Students表中的某条学生记录,Courses表中所有关联的课程记录也会一并删除。
阅读全文