在我的申请表中,我有以下表格:
projects
files
revisions
comments
project_files
file_revisions
revision_comments
最后3个表总是包含两个带有两个表的外键的字段(因此file_revisions有一个字段file_id作为文件的外键和一个字段revision_id外键来修改)
现在,如果我从文件中删除文件,则project_files和file_revisions中的链接被成功删除,因为密钥在删除时具有CASCADE,但该文件的修订版中的条目仍保留在修订表中,因此还有注释。
有没有办法实现自动化?或者我是否必须首先选择文件的所有修订,然后删除所有这些修订的所有注释?
提前致谢
答案 0 :(得分:1)
如果每个版本始终对应于一个文件,并且应该在删除文件时删除,那么请使用关系表file_revisions
似乎不是您数据的好模型。
您的FK
表格中应该revisions
直接指向files
。
同样,comments
可以将FK指向revisions
。