从sql数据库中删除。基于时间戳(cron job)?

时间:2017-08-24 20:06:23

标签: php mysql sql cron

我目前有数据库在插入新记录时更新时间戳。它的格式如下:

  

2017-08-24 15:48:30.189182

我的问题是:如何删除3天以上的记录?

我假设我可以每晚运行一个cron作业来删除超过3天的记录。有人可以给我格式吗?我不知道如何使用时间戳数据。

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

不同的数据库有不同的方法来计算两天之间的时差......

MySQL:DATEDIFF(date1,date2);
Oracle:从dual选择date1 - date2;
等等...

答案 1 :(得分:0)

假设列的类型为DATE,您可以运行一个查询,删除今天和列之间差异大于3的所有列。

table替换为您的表格,将date_column替换为您的列名称。同样,这假设您有DATE类型的列,而不是VARCHAR或类似的列。

DELETE FROM table WHERE DATEDIFF(CURDATE(), date_column) > 3