0
0
0

被刷贴定位删除命令

 部长
25-08-06 203

例如本部落遇到狗

八月份被刷,首先我们查询一下如下

你的帖子表 bbs_thread 中,时间字段是:create_date

Field       | Type                 | Null | Key | Default | Extra
------------|----------------------|------|-----|---------|-------
create_date | int(11) unsigned     | NO   |     | 0       |

它是 int(11) unsigned,说明是 Unix 时间戳(秒级)
你的测试时间戳 1754491179 正好是 2025年8月6日,符合预期

正确的查询:查 2025年8月的帖子

SELECT 
    tid, 
    subject, 
    create_date, 
    FROM_UNIXTIME(create_date) AS readable_time 
FROM bbs_thread 
WHERE FROM_UNIXTIME(create_date, '%Y-%m') = '2025-08'
LIMIT 10;

删除 2025年8月的所有帖子

DELETE FROM bbs_thread
WHERE FROM_UNIXTIME(create_date, '%Y-%m') = '2025-08';

删除对应的回复(bbs_post 表)

DELETE p FROM bbs_post p
INNER JOIN bbs_thread t ON p.tid = t.tid
WHERE FROM_UNIXTIME(t.create_date, '%Y-%m') = '2025-08';

帖子被删tid也会增加,可能中间会相差好几百几千,那么回退执行下面的代码

-- 1. 查删除前最后一个 tid
SELECT MAX(tid) FROM bbs_thread WHERE create_date < UNIX_TIMESTAMP('2025-08-01');

-- 假设结果是 150

-- 2. 设置下一个 tid 为 151
ALTER TABLE bbs_thread AUTO_INCREMENT = 151;

 

最新回复 (0)

    暂无评论

请先登录后发表评论!

返回