我有以下数据库设计(MySQL):
id|message_id|reply_id|user_id_from|user_id_to|title|message|sent_date|read_date|type
id INT(11) Auto-increment
message_id INT(11)
reply_id INT(11)
user_id_from INT(11)
user_id_to INT(11)
title TEXT
message TEXT
sent_date DATETIME
read_date DATETIME
type VARCHA(255)
现在我遇到了关于如何最好地软删除邮件的“问题”。如果(对话的)用户1删除了他/她的收件箱中的邮件,则不应在用户2的收件箱中删除该邮件。
我该如何做到最好?如果用户1删除了邮件,我是否应该使用我存储的列?如果用户2删除了邮件,我应该使用第二列吗?
答案 0 :(得分:0)
我会使用两个datetime
列,如下所示:
user_from_deleted_on DATETIME
user_to_deleted_on DATETIME
如果列为NULL
,则该用户尚未删除该邮件。这样,您可以单独记录每个用户的删除,并且还可以跟踪这些事件发生的时间。您还可以通过将列设置回NULL
来取消删除邮件。