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

Ada*_*son 1 html php mysql phpmyadmin

我想知道如何在1周后从MySQL数据库中删除记录

这是我插入记录的代码和添加时间的日期

INSERT INTO moviesdone VALUES ('" . $id2 . "', NOW())
Run Code Online (Sandbox Code Playgroud)

$ id是我在1周后想要删除的名称.

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

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

Mar*_*ers 6

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

DELETE FROM moviesdone 
WHERE datetimecol < NOW() - INTERVAL 7 DAY
Run Code Online (Sandbox Code Playgroud)

您可以使用 事件调度程序.


nic*_*ico 5

如果您使用 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;
Run Code Online (Sandbox Code Playgroud)

  • 好点,尽管每天在正常大小的桌子上运行一次并不会真正产生影响。 (2认同)