我有两张桌子:
Languages
和Occasions
在这些表之间有第三个相关表:
Occasions_has_languages
具有以下结构:
id | languege_id | occasion_id
1 1 1
如果我使用id = 1
删除语言,则可以在
Occasions_has_languages.languege_id
与删除occasion
相同我可以将NULL设置为
Occasions_has_languages.occasion_id
当Occasions_has_languages.languege_id
和Occasions_has_languages.occasion_id
为NULL时,应该永久删除它。
我对此是对的吗?
答案 0 :(得分:1)
在N:N关系的情况下,中间表(在您的情况下为Occasions_has_languages
)仅用于关系定义,因此其中的null
值没有意义,因为它们没有定义关系表之间。
在这种情况下,正确的方法是将on delete cascade
用于Occasions_has_languages
到Languages
和Occasions
的引用,以便自动删除不完整的引用。