簡體   English   中英

如何在mysql中鏈接已發送和已接收的消息?

[英]How to link sent and received messages in mysql?

我正在創建一個約會網站,人們可以在彼此之間收發消息。 我有一個表“ users”,其中包含用戶ID和信息,例如年齡,姓名等。還有一個表“ messages”,其中包含消息ID,從,到,日期時間和消息本身。 我可以存儲消息,並且在我的表中顯示為:用戶23向用戶54發送消息x。

但是現在用戶54需要回復用戶23,我不知道如何將下一條消息鏈接到該原始消息。

這個想法是最后兩個用戶之間可以看到某種郵件對話。

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

有誰知道如何處理這個問題,或者我如何將發送和接收的消息彼此鏈接?

有幾種方法可以實現此目的,例如:

  • 添加另一個字段“引用”:答案行將在其中存儲原始消息的消息ID
  • 如有必要,請添加另一個字段“引用類型” ENUM('RE','FWD', ...)如果引用消息的方式不同

一種方法是擁有一個“對話”表,並且每條消息都將包含一個“對話ID”。 發送初始消息時,您將創建一個新的對話,而答復將復制上一條消息中的對話ID。

另一種方法是讓每個消息都包含一個In-Reply-To字段,該字段將包含上一條消息的消息ID。 然后,您可以重新創建整個對話流程。

您也可以同時執行這兩種操作,因為對話ID可以通過簡單的連接輕松地找到對話中的所有消息,然后可以使用In-Reply-To顯示線程。

誤讀了請求。

您將在messages表中需要一個新列,並且可以將根messageID保留在該列中,這樣,當有人進行對話時,他們可以按日期順序獲得帶有該根messageID的所有內容,從而可以看到“上鏈”當您將新消息放回表中時,只需要將該messageID存儲在要引用的位置即可。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM