privmsg系统数据库架构

时间:2010-04-14 10:39:15

标签: sql mysql

我正在我的网站上制作PM系统。我想知道最终的数据库架构。

我一直只用过一张桌子。但是我的用户已经开始抱怨他们的发件箱中的消息突然消失= D,因为如果其他用户删除它,发送它的人就不会看到它。

所以我想要制作另一个具有相同字段的表

所以我想这样的事情:

privmsgs

id | to | from | subject | message | date
--   --   ----   -------   -------   ----
1    76   893    blabla.   blabla.   20100404

sent_msgs

id | to | from | subject | message | date
--   --   ----   -------   -------   ----
1    76   893    blabla.   blabla.   20100404

Whatya认为?

抱歉我的英文不好

编辑:也许我应该删除邮件,只需添加一个名为“已删除”的字段并将其设置为1

1 个答案:

答案 0 :(得分:0)

这可以通过一个表来实现。

id | to_id | from_id | subject | message | date     | to_deleted | from_deleted
--------------------------------------------------------------------------------
1  |  76   |   893   | blabla. | blabla. | 20100404 | BOOLEAN    | BOOLEAN

我的收件箱

SELECT * FROM messages WHERE to_id=<my_id> AND to_deleted = FALSE;

我的发件箱

SELECT * FROM messages WHERE from_id=<my_id> AND from_deleted = FALSE;

可能想要添加和cronjob一次又一次地清理你的消息

DELETE FROM messages WHERE to_deleted=TRUE AND from_deleted=TRUE;

一方面,不是一个好主意,因为这是一个MYSQL关键字,可能会导致错误。