我想删除表中时间戳早于 2 天的所有数据。我创建了以下查询:
DELETE FROM temporary_data WHERE stamp < CURDATE() - INTERVAL 1 DAY;
但这似乎不起作用。我的邮票看起来像这样:2014-04-29 15:37:00
我认为 CURDATE() 只返回 2014-04-30,与邮票不匹配。谁能帮助我?
最佳答案
删除前始终选择
SELECT from temporary_data
where stamp between date_sub(now(),INTERVAL 2 DAY) and now();
删除查询
delete from temporary_data
where stamp between date_sub(now(),INTERVAL 2 DAY) and now();
您可以根据您的需求修改间隔,更多内容请阅读http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html
关于mysql - 基于stamp mySQL删除旧数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23381935/