【发布时间】:2014-03-21 04:26:57
【问题描述】:
我有一个名为 messages 的 mysql 表。下面是结构
id | sender_id | receiver_id | message | date | is_receiver_read | conversation_id
1 | 99 | 456 | hello | 2014 | 1 | 99x456
2 | 456 | 99 | hi) | 2014 | 0 | 99x456
当发件人或收件人从对话中删除消息时,我不想向他显示此对话中的消息。怎么办?
当我添加名为“is_sender_delete”和“is_receiver_delete”的列时,出现了问题。对于第一个消息发送者是 99,但对于第二个消息发送者是 456。当我在用户按下“删除会话按钮”后更新我的表时,我应该更新哪一列?
如果这个结构是错误的,有什么替代解决方案?
【问题讨论】:
-
一次对话可以有两个以上的参与方吗?
-
我听不懂你的意思?你的意思是两方?
-
这表明答案是否定的。因此,只需有一个名为“黑名单”的单独表,并将“已删除”的会话 ID 和用户 ID 存储在那里......或者......有一个名为订阅的表,并将每个用户和他们订阅的每个会话存储在那里!
标签: mysql sql messaging sendmessage