php - 私有(private)消息通知 - 数据库表设计

标签 php mysql database-design notifications private-messaging

我已经使用 PHP 和 mySQL 创建了一个带有通知的私有(private)消息系统,有点像 Facebook。

数据库表有以下字段(未全部列出):

  • 消息ID
  • 发件人用户 ID
  • 记录用户ID
  • 留言
  • 主题
  • 日期时间
  • 状态——是否已读
  • RepliedStatus - 我应该如何使用它?
  • DeleteRec - 从收件箱中删除
  • DelSender - 删除发件人收件箱
  • RepliedUserId - 当用户回复原始消息时,这是对接收者 ID 的更改

所有回复都存储在第二个表中,因为每条消息都会创建一个线程。第二张表看起来有点像这样:

  • 消息 ID - FK
  • repuserID
  • 留言
  • 日期时间

在向用户发送新消息时,我将消息的“状态”更改为未读,由此可以运行计数查询以在通知中列出所有未读消息。

但如果用户回复该消息,我无法将原始“状态”字段设置为未读,因为这将出现在两个用户通知中。所以我创建了另一个名为“RepliedStatus”的字段,但我不确定如何使用它来显示消息回复通知?

谢谢你们。

最佳答案

如果您有回复表,那么您的第一个状态不需要回复状态列。凭借回复表中存在的记录,您知道用户已回复消息

关于php - 私有(private)消息通知 - 数据库表设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8770431/

相关文章:

php - 获取用户在互联网上的完整地址以进行转移

php - 在 PHP 中,捕获异常需要花费大量时间

java - 对象序列化期间的DbUtils类型转换问题

mysql - 我应该将两个相似的表合并为一个吗?

database - 多个模式与庞大的表

php - 为启用了魔术引号的系统创建 real_escape_string() 方法

php - 如何在不按大写锁定的情况下将字符设置为大尺寸

php - 扩展 attach() 方法?

php - Emoji编码mysqlquery问题

mysql - 数据库设计通告引用/潜在的不一致