我在数据库NotesTagsNoteTagJoin中有三个表,我正在使用many to many数据库与外键的关系,这些关系存储在NoteTagJoin表中,现在我知道您可以为外键设置onCascade delete,并且据我所知,如果我删除Note所有Tags,则与此NoteTagJoin关联的引用将被删除,但是,是否有任何方法可以这样做,因为其他注释可以使用onCascade delete拥有相同的标记,所以只有来自Note的条目才会被删除,而来自Notes的引用不会来自NoteTagJoin

最佳答案

我想到的最简单的解决方案是对桥接表使用ON DELETE CASCADE。然后,从NoteTagJoin表中删除注释将删除注释标记关联,但不会从Notes表中删除任何内容。
这就留下了一个问题,即可能会悬挂与任何注释都不相关的标记。但是也许你可以运行一个定期的清理工作来删除这些,或者也许这些将由某人手动管理(例如,一个应用程序)。

关于mysql - 带连接表的SQL ondelete级联,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50835488/

10-11 01:41