我在数据库Notes
,Tags
,NoteTagJoin
中有三个表,我正在使用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/