删除超过5天的所有行

时间:2011-05-02 04:49:56

标签: php mysql sql

我想在我的表格中删除超过5天的所有行。

我的表有一个类型为date的createdOn列,你可以建议我查询。

我正在使用mySql数据库

现在我写了folloiwng查询

SELECT * from `user_games` where created_on >= DATE_SUB(created_on, INTERVAL 5 DAY)

查看五天前的user_games

但即使我在Invterval 1 Day或Interval 5 day运行查询时总是得到相同的结果

enter image description here

今天curdate是2011-5-2

4 个答案:

答案 0 :(得分:18)

试试这个,

delete from mytable where datediff(now(), mytable.date) > 5

这是删除的正确方法。

答案 1 :(得分:11)

使用date_sub功能,如:

delete from `myTable` where createdOn<DATE_SUB(curdate(), INTERVAL 5 DAY);

答案 2 :(得分:2)

你想这样做:

delete from myTable 
where createdOn < CurDate() - 5

答案 3 :(得分:0)

DELETE FROM table_name WHERE time&lt; (现在() - 间隔5天)