一对多,如何将删除“一”就能把“多”的数据一起删除呢

DCYcity 2015-12-21 04:36:51
我用的 mysql
/*一对多测试*/
create table class(
cid int primary key,
series varchar(20),
description varchar(20)
);
create table student(
sid int primary key,
cid int,
name varchar(20)
);
/*在多上添加外键*/
alter table student add constraint fk_student_class foreign key(cid) references class(cid);

我想通过删除 “班级” 就能把 这个班级上的所有人都能删除
delete from class where cid=1; 但是报错了

要怎么实现这种方法呢?? 求大神帮助
...全文
274 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
harder_cn 2015-12-21
  • 打赏
  • 举报
回复
引用 1 楼 wmxcn2000 的回复:

-- 加上这个(MYSQL)
-- on delete cascade
alter table student add constraint fk_student_class foreign key(cid) references class(cid) on delete cascade ; 


楼上正解!这就是级联删除 加上ON DELETE CASCADE后,如果主表删除一条记录,那么student中对应的关联的数据也跟着删除
卖水果的net 2015-12-21
  • 打赏
  • 举报
回复

-- 加上这个(MYSQL)
-- on delete cascade
alter table student add constraint fk_student_class foreign key(cid) references class(cid) on delete cascade ; 


17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧