将一条用户的消息标记为已删除

时间:2015-01-24 10:59:03

标签: mysql database

我有这样的数据库架构:

conversation
    - id
    - created

user_has_conversation
    - user_id
    - conversation_id

message
    - id
    - user_id
    - conversation_id
    - text

如果一个用户决定删除对话或某些消息,我如何设计这些表格,但我希望它们对其他用户保持可见。

我应该创建一个名为

的新表
message_deleted
    - user_id
    - message_id

并填写已删除邮件的ID?

2 个答案:

答案 0 :(得分:1)

是的,你应该使用你建议的表格:

message_deleted
    - user_id
    - message_id

您的被删除"是user_id和message_id之间的多对多关系。

  

如果一个用户决定删除对话或某些消息,但是我   希望它们对其他用户保持可见。

同样,你会有一个对话表:

conversation_deleted
    - user_id
    - conversation_id

答案 1 :(得分:0)

您只需在消息表中添加一个标记'visible'(默认为true)。