表名:成员(member_id PK),Member_Articles(articles_id PK)
我想设计,如下所示:
会员可以写文章,应该有很强的关系。如果没有member_id,则Member_Articles表不能插入任何数据。
有时在将来,必须删除某些member_id [例如] member_id:7]。 但是,某些由member_id [例如] member_id:7]编写的文章必须保留在表格中。
我试过PK,FK关系。但是,如您所知,我必须在删除成员之前删除第一篇文章。
我该如何实施这种情况?
答案 0 :(得分:0)
在member_article表中使member_id不为null,并在删除无操作时使用,以保留文章。
答案 1 :(得分:0)
在将删除时的关系集null设置为FK,并保留一个额外的列时,让我们说deleted_member_id
,如果以编程方式删除用户或在触发器的帮助下设置deleted_member_id
,则将其设置为null使用memeber_id
并删除将null设置为memeber_id
更好的方法(在我看来)
在我看来,更好的方法是在你的eahc表中设置标志,
例如:当您删除任何数据而不是删除它们时,使用默认status
创建列1
,只需将status
设置为0,同样在所有SELECT
中添加额外条件WHERE status = 1