针对 record 表,只保留最近 3天 的数据,具体 SQL 操作如下。


由于该表通常基于微擎(WeEngine)框架,create_time 很有可能是 UNIX 时间戳(int 类型),但也不排除是 datetime 类型。请根据实际情况选择对应的语句。


1. 执行前安全检查(务必先执行)


在进行删除前,强烈建议先查询一下哪些数据会被删除,以及确认时间字段的格式。


-- 查看即将被删除的数据(3天前的)
SELECT * FROM record
WHERE create_time < UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 3 DAY));
-- 或者,如果 create_time 是 datetime 类型,则用:
-- WHERE create_time < DATE_SUB(NOW(), INTERVAL 3 DAY);



2. 场景一:create_time 为 UNIX 时间戳(int 类型)


这是微擎最常见的存储方式(如 createtime 字段存储 10 位数字)。


DELETE FROM record 
WHERE create_time < UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 3 DAY));

说明:DATE_SUB(NOW(), INTERVAL 3 DAY) 获取 3 天前的时间,UNIX_TIMESTAMP() 将其转为秒级时间戳进行比较。