线程消息系统的查询不起作用(基于另一个成员的帖子)

时间:2012-07-07 16:08:58

标签: php mysql database

我一直在阅读这篇文章Creating a threaded private messaging system like facebook and gmail

它解释了一切非常好,但查询对我不起作用。我在第1行收到错误,其中显示“top 1”。 :(

以下是我想要达到的情景:

  1. 有5个人正在与member1交谈。成员1和其他5个成员都有线程,因此总共有5个线程,因为有5个对话。我需要从5个线程中的每个线程获取最新的回复以及离开最后一个回复的人的用户名。

  2. 消息打开后,显示回复。

  3. 我猜测我正在阅读的帖子效率很高,并且可以与成千上万的线程/回复一起使用。如果它会很慢,请告诉我是否有人能指出我正确的文章。我对MYSQL不太好,还在学习。

    我正在使用此表格设置

    enter image description here

1 个答案:

答案 0 :(得分:1)

TOP是Transact-SQL语法 - 例如。用于MS SQL Server和Sybase。 MySQL中的等效语法是LIMIT(它位于SELECT命令的末尾):

select
  M.message_id
, M.sent_datetime
, M.title
, M.message_text
, S.user_id
, S.user_name
-- and anything else you want...
from MESSAGE M inner join USER S
  on M.sender_user_id = U.user_id
where M.reply_to_message_id = @ThreadRootMessageID
order by
  M.sent_datetime desc
limit 1