1

我想知道使用 ON DELETE CASCADE 是否是个好主意,例如下面。因此,我对何时使用 ON DELETE CASCADE 删除行有了一个大致的了解。

模块表:

ModuleId (PK) ModuleNo  ModuleName
11            CHI2333    ICT

Course_模块表:

CourseId  ModuleId (FK)
3          11

会话表(考试):

SessionId  SessionName  ModuleId (FK)
5           ASDEE        11

在上面的示例中,如果我从Module表中删除一行,那么它将删除其他 2 个包含相同 ModuleId 的表中的行。在Course_Module表格中,它确定哪个课程包含哪些模块,在Session包含考试详细信息的表格中,它将删除包含已删除 ModuleId 的任何行(考试)。

对于上面的示例是否可以这样做,我的一般问题是在删除或删除父表中的行时使用 ON DELETE CASCADE 删除外键行是明智和正常的做法吗?

4

1 回答 1

0

就我个人而言,我认为在您的代码中包含该逻辑而不是依靠数据库为您完成工作会更好。这就是我编写所有应用程序的方式。

只是我的2美分。

于 2013-01-17T19:18:29.093 回答