Timestamp カラムに基づいて MYSQL で 6 か月以上経過したアイテムを返し、それらを削除するにはどうすればよいですか? テーブルが成長し続けないように、テーブル内の 6 か月を超えるアイテムを削除できるようにしたいのですが、そのための正確なクエリは何ですか?
質問する
11823 次
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 に答える