5

如何根据超过六个月的时间戳列返回MYSQL中的项目并删除它们?我希望能够删除表中大于六个月的项目,这样表就不会继续增长.. 确切的查询是什么?

4

2 回答 2

18

这是一个查询,用于根据时间戳列的值查找所有超过 6 个月的行:

select id
from your_table
where your_timestamp_column <= (now() - interval 6 month);
于 2013-01-11T17:35:44.270 回答
7

试试这个:

使用DATEDIFF函数:

SELECT * FROM tableName  
WHERE DATEDIFF(CURDATE(), colName) > 180;

DELETE FROM tableName  
WHERE DATEDIFF(CURDATE(), colName) > 180;

使用DATE_SUB函数:

SELECT * FROM tableName  
WHERE colName < DATE_SUB(CURDATE(), INTERVAL 6 MONTH);

DELETE FROM tableName  
WHERE colName < DATE_SUB(CURDATE(), INTERVAL 6 MONTH);
于 2013-01-11T17:46:08.847 回答