删除所有超过5天的行
问题描述:
我想删除表中超过5天的所有行。删除所有超过5天的行
我的表有一个createdOn类型的日期列你可以建议我查询。
我米使用MySQL数据库
现在我写folloiwng查询
SELECT * from `user_games` where created_on >= DATE_SUB(created_on, INTERVAL 5 DAY)
,看看哪些五天老user_games
但总是即时得到相同的结果,即使我出马查询Invterval 1天或间隔5天
而今天CURDATE是2011年5月2日
答
试试这个,
delete from mytable where datediff(now(), mytable.date) > 5
这将是适当的删除方法。
答
DELETE FROM table_name的WHERE time
<(NOW() - 间隔5天)
似乎更适合工作 – Abhi 2011-05-02 05:07:59
运行多比Harry Joy的回答更快,不知道为什么。 – iautomation 2016-12-11 22:39:49
@iautomation我猜这是更有效的,因为datediff()只考虑日期,而DATE_SUB()也考虑时间。 – 2017-06-17 10:13:35