如何根据Timestamp列返回MYSQL中的项目超过六个月并删除它们?我希望能够删除表中超过六个月的项目,以便表格不会持续增长..具体的查询是什么?
答案 0 :(得分:16)
这是一个查询,根据时间戳列的值查找超过6个月的所有行:
select id
from your_table
where your_timestamp_column <= (now() - interval 6 month);
答案 1 :(得分:5)
试试这个:
使用 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);