You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

FTP删除Wordpress上传文件后如何按日期范围删除数据库对应媒体记录

原有写法的核心错误

  1. 字段不存在:wp_postmeta表没有存储附件上传日期的字段,日期仅存储在wp_posts表的post_date字段中,你自行编写的DateField是不存在的字段,直接执行会直接报错。
  2. 语法错误:SQL中BETWEEN的正确语法是BETWEEN 起始值 AND 结束值,不能用to连接两个时间边界。
  3. 日期格式错误:MySQL默认支持的标准日期格式为YYYY-MM-DD [HH:MM:SS],你使用的01/01/2020格式无法被正确识别,还可能出现月/日顺序识别混淆的问题。

正确操作方案

操作前务必完整备份数据库,避免误操作导致数据不可逆丢失。
建议先执行SELECT语句确认筛选范围是否符合预期,确认无误后再执行DELETE操作:

-- 先验证要删除的附件记录是否为目标时间范围内的内容
SELECT ID, post_title, post_date FROM `wp_posts` 
WHERE `post_type` = 'attachment' 
AND `post_date` BETWEEN '2020-01-01 00:00:00' AND '2021-08-01 23:59:59';

确认筛选结果正确后,执行以下删除语句即可:

-- 删除符合时间范围的附件主记录
DELETE FROM `wp_posts` 
WHERE `post_type` = 'attachment' 
AND `post_date` BETWEEN '2020-01-01 00:00:00' AND '2021-08-01 23:59:59';

-- 关联删除对应附件的元数据记录
DELETE pm FROM `wp_postmeta` pm
INNER JOIN `wp_posts` p ON pm.post_id = p.ID
WHERE p.post_type = 'attachment'
AND p.post_date BETWEEN '2020-01-01 00:00:00' AND '2021-08-01 23:59:59'
AND pm.meta_key IN ('_wp_attached_file', '_wp_attachment_metadata');

内容的提问来源于stack exchange,提问作者Robbert Vos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 02:06:02