mysql与或不与FK关系建立牢固的关系

时间:2014-02-14 11:04:53

标签: mysql relationship

表名:成员(member_id PK),Member_Articles(articles_id PK)

我想设计,如下所示:

  1. 会员可以写文章,应该有很强的关系。如果没有member_id,则Member_Articles表不能插入任何数据。

  2. 有时在将来,必须删除某些member_id [例如] member_id:7]。 但是,某些由member_id [例如] member_id:7]编写的文章必须保留在表格中。

  3. 我试过PK,FK关系。但是,如您所知,我必须在删除成员之前删除第一篇文章。

    我该如何实施这种情况?

2 个答案:

答案 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