软删除和恢复(MySQL,PHP)

时间:2011-07-25 20:31:57

标签: php mysql sql soft-delete

我需要能够删除邮件并将其还原,直到重新加载页面为止。所以我的'messages'表中有一个字段'is_deleted'。我想要的是删除它后面的这些“删除”记录。对此最好的解决方案是什么?

1 个答案:

答案 0 :(得分:6)

这取决于您的需求,“清除”按钮可能是您想要的,或者很多时候人们会使用cron job并将is_deleted设置为Nullable DATETIME字段,如果在x天之后,它仍显示为已删除,则会自动从数据库中删除。

因此,如果自动方式吸引您并且您在Linux上查看Cron作业或者在Windows任务计划程序上。如果您想要一个cron的示例,我需要知道您希望从系统中清除记录的频率,我将为您提供一个示例。

例如,每5分钟运行一次删除脚本:

*/5 * * * * /usr/bin/php -f /path/to/script/purgeDeleted.php > /dev/null

您仍然需要编写purgeDeleted.php脚本,但这是通过Linux中的cron作业运行php cli脚本的设置。