1 周后从 MySQL 数据库中删除记录

Posted

技术标签:

【中文标题】1 周后从 MySQL 数据库中删除记录【英文标题】:Deleteing record from MySQL Database after 1 Week 【发布时间】:2012-05-15 04:49:03 【问题描述】:

我想知道如何在

这是我用于插入记录和添加日期的代码

INSERT INTO moviesdone VALUES ('" . $id2 . "', NOW())

其中 $id 是我正在插入并希望在 1 周后删除的名称。

我也想自动执行此操作,我可以在 phpMyAdmin 中进行设置

所以,我只需要知道:如何正确写入日期(如果需要)以及如何在一周后删除记录?

【问题讨论】:

【参考方案1】:

如果您使用的是 mysql 5.1.6 或更高版本,您可以使用CREATE EVENT

类似

CREATE EVENT del_entries
ON SCHEDULE EVERY 1 DAY
DO
   DELETE FROM table WHERE DATEDIFF(NOW(), creation_date) >= 7;

【讨论】:

好点,虽然每天在普通大小的桌子上运行一次并没有什么不同。【参考方案2】:

定期运行此代码,例如每天一次:

DELETE FROM moviesdone 
WHERE datetimecol < NOW() - INTERVAL 7 DAY

您可以使用event scheduler。

【讨论】:

这不会自动完成 @MarkByers:是的,你可以使用一个事件 @MarkByers:你刚刚写了一个删除查询,他想知道如何自动运行删除查询,我觉得这很不一样 @nico 我也在使用 phpMyAdmin 并创建事件,我只需要知道,我需要执行什么 MarkByers,谢谢

以上是关于1 周后从 MySQL 数据库中删除记录的主要内容,如果未能解决你的问题,请参考以下文章

MySQL TRIGGER:从表 1 中删除后从表 2 中删除或更新

如何删除有外键的mysql记录

将目录添加到 .gitignore 后从远程存储库中删除目录

如何从mysql数据库中永久删除记录

如何在截断并保留 ID 列值后从临时表中重新插入记录

更改更新核心数据属性的删除方法