检查记录是否旧并删除它

时间:2011-09-20 15:28:01

标签: c# mysql

如何在每行检查mysql表以查看时间戳是否超过10分钟,如果使用c#,则删除它?

2 个答案:

答案 0 :(得分:2)

查询很简单:

DELETE FROM yourtable WHERE timestampfield < DATE_SUB(now(), INTERVAL 10 MINUTE)

这可以在任何语言中使用,因为它只是一个简单的SQL查询,并且完全独立于前端。

答案 1 :(得分:0)

您可以在MySQL中使用每x分钟运行一次的事件,并从表中删除旧记录。

DELIMITER $$

CREATE EVENT IF NOT EXISTS clean_log_every_10_minutes ON SCHEDULE EVERY 5 MINUTE
ENABLE 

DO BEGIN
  DELETE FROM table1 WHERE timestampfield < DATE_SUB(now(), INTERVAL 10 MINUTE);
END $$

DELIMITER ;

这样清理将全自动完成。

请参阅:http://dev.mysql.com/doc/refman/5.1/en/create-event.html