我对mysql的了解很少,所以请原谅我的问题。
我有两个表,其中一个包含课程,如下所示:
id title type language level
另一个包含以下部分:
lesson_id title content duration
每节课有0个或几个部分。
现在我的网页中有一个功能,允许我删除课程。
1-如何使课程记录中的部分依赖?
我希望通过删除课程记录,数据库自动知道它必须删除属于该课程的所有部分字段。
答案 0 :(得分:3)
更改分区表,并将lesson_id定义为引用课程表的外键,并将其定义为“删除级联”。
ALTER TABLE sections
ADD FOREIGN KEY fk_lesson(lesson_id)
REFERENCES lessons(id)
ON DELETE cascade;
这样,当您从“课程表”中删除一行时,从“节表”中删除所有行。
答案 1 :(得分:0)
您可以使用一个查询从两个表中删除
假设您要删除与课程ID = your_value相关的行
尝试使用联接
delete l, s
from lessons l
inner join section s on s.lesson_id = l.id
where l.id = your_value