一尘不染

删除所有时间戳记早于x天的行

mysql

我想从数据库中的特定表中删除所有时间戳超过180天的行。

我已经试过了:

DELETE FROM on_search WHERE search_date < DATE_SUB(NOW(), INTERVAL 180 DAY);

但这会删除所有行,而不仅仅是删除六个月以上的行。

我在on_search表中有一列称为search_date,其中包含创建该行的时间。

search_id   search_term    search_date 
660779      car games      1390052553

阅读 278

收藏
2020-05-17

共1个答案

一尘不染

DELETE FROM on_search 
WHERE search_date < UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 180 DAY))
2020-05-17