我想知道在下面使用ON DELETE CASCADE是否是个好主意。这是我一般的想法何时使用ON DELETE CASCADE来删除行。
模块表:
ModuleId (PK) ModuleNo ModuleName
11 CHI2333 ICT
Course_Module表:
CourseId ModuleId (FK)
3 11
会话表(考试):
SessionId SessionName ModuleId (FK)
5 ASDEE 11
在上面的例子中,如果我从Module
表中删除一行,那么它将删除包含相同ModuleId的其他2个表中的行。在Course_Module
表中,它确定哪个课程包含哪些模块,并在Session
表中包含考试详细信息,它将删除包含已删除的ModuleId的所有行(考试)。
上面的示例是否可以执行此操作,我的一般问题是,当父表中的行被删除或删除时,使用ON DELETE CASCADE删除外键行是明智和正常的做法吗?
答案 0 :(得分:0)
就我个人而言,我认为在代码中使用该逻辑更好,而不是依靠数据库来为您完成工作。这是我编写所有应用程序的方式。
只需2美分。