如何在mysql中链接发送和接收的消息?

时间:2013-11-19 20:42:10

标签: mysql

我正在创建一个约会网站,人们可以在这里互相发送和接收消息。 我有一个表“users”,其中包含用户ID和年龄,姓名等信息...... 还有一个表“messages”,其中包含消息ID,from,to,datetime和消息本身。 我可以存储消息,并在我的表中显示如下:用户23将消息x发送给用户54。

但现在用户54需要回复用户23,我不知道如何将下一条消息链接到此原始消息。

这个想法是,最终在两个用户之间可以看到某种邮件对话。

我不想使用某种留言板或聊天解决方案。

有没有人知道如何处理这个或如何将发送和接收的消息相互链接?

3 个答案:

答案 0 :(得分:0)

有几种方法可以达到这个目的,例如:

  • 添加另一个字段"引用":答案的行将存储原始邮件的邮件ID
  • 如有必要,添加另一个字段" referencetype" ENUM('RE','FWD', ...)如果有不同的可能方式来引用消息

答案 1 :(得分:0)

一种方法是拥有一个Conversations表,每条消息都包含一个Conversation-ID。发送初始消息时,您创建新会话,而回复则复制上一条消息中的会话ID。

另一种方法是每条消息都包含一个In-Reply-To字段,该字段将包含前一条消息的消息ID。然后,您可以重新创建对话的整个流程。

您也可以同时执行这两项操作,因为会话ID可以通过简单的连接轻松找到对话中的所有邮件,然后您可以使用In-Reply-To显示该帖子。

答案 2 :(得分:0)

误读了请求。

您将需要在消息表中添加一个新列,并且可以在该列中保留根messageID,这样您就可以看到“向上链”,只要有人加载对话,他们就会按顺序获取所有根消息ID日期你只需要在将新消息放回到表中时将该messageID存储在某个地方。