要使用级联删除,您需要在创建或修改表结构时设置外键约束,并在其中指定ON DELETE CASCADE
选项。具体步骤如下:
- 创建或修改表结构:在创建或修改数据库表结构时,确保定义了外键列,并指向主表的相应主键列。
- 设置外键约束:在外键定义中添加
ON DELETE CASCADE
子句。这样,当主表中的记录被删除时,所有引用该记录的外键记录也将被自动删除。 - 执行删除操作:当您需要删除主表中的某条记录时,只需执行常规的删除SQL语句。由于设置了级联删除,数据库会自动处理相关联的子表中的数据。
例如,如果您有两个表students
和scores
,并且student
表中有一个外键scores_id
指向scores
表的id
字段,您可以这样设置外键约束:
alter table scores
add foreign key (student_id) references student(id)
on delete cascade;
这样,当您从students
表中删除一个学生时,所有scores
表中与该学生相关的记录也会被自动删除。
注意:
设置外键约束的表是子表,引用的是主表的id,主表删除一条数据,子表会把和主表删除的数据相关的数据删除