MESSAGE_ID,to_id,from_id,消息
我做了一个线程消息系统的表。我有5人与1位成员交谈。
当我看到成员
会员1说:嗨,成员2打招呼(我想是这样说的最新答复是你好)
会员1说:嗨,成员3说:嗨,成员1说欢迎(我想是这样说的欢迎)
件2说喜(我想是这样说的喜)现在
,我只提供的ID的这是member1中的会话ID之一。我将如何去展示场景2,其中我(会员1)已经离开了最新的回复。
我可以很容易做到
SELECT * FROM messages WHERE to_id=$session_id ORDER BY message_id DESC LIMIT 1
但将只显示收到的消息。我需要显示传入和传出消息的最后一个。
你会提出什么建议? :\如果没有有效的方法,可能会改变表格?我第一次设置邮件系统时,欢迎提供建议。
我想你需要'thread_id'场。由于可能存在多个线程可供人们聊天,否则您将忽略从“消息”表中最后一行显示的部分。 – Zagor23 2012-07-07 10:37:09
同意,并且这个thread_id字段应该是非规范化的吗?意思是把它放在一个单独的表格中,并在需要时结合使用?或者没有必要这样做。 – Darius 2012-07-07 10:51:06
那取决于。如果你将有一个线程标题或其他特定的线程信息,你可以把它放在一个单独的表中。否则,只保留线程ID在一个单独的表中,因为你可以通过'message'表中的'thread_id'进行分组和排序。 – Zagor23 2012-07-07 12:15:39