我有一个使用PHP和mySQL通知的私人消息系统。
数据库表包含以下字段(并非全部列出)--- message_tbl:
MessageID
senderUserID
RecUserID
Message
Subject
DateTime
Status - whether read or not i.e 0/1
所有回复都存储在第二个表中,因为每条消息都会创建一个帖子。父消息中存在一个线程,因此每次加载父消息时,其所有回复也都会加载它。 第二个表看起来有点像: - replies_tbl
messageID - FK
senderUserID
rstatus - how should i use this?
Mesage
DateTime
我需要显示所有未读消息的计数。 目前我运行一个sql count函数来从message_tbl获取总未读消息,其中status为0,userid等于RecUserID,这是一个简单的部分。
但我有一个小问题是如何获得回复表的计数?数据库设计可以改进吗?
谢谢你们。答案 0 :(得分:1)
正如我所看到的,回复本身就是一条消息,为什么它会进入一个单独的表格。回复回复会怎么样?看起来你在这一点上会有一个空FK。
我的第一个想法是:
使用该结构,您可以轻松跟踪对回复的回复,并且线程可以继续深入到您想要的范围......
只是我的想法,但是......