现在做自媒体的通常都是一人多号、多平台同步更新,其中一部分都是自有网站或博客的站长,小编就是其中之一。小编就利用当前最盛行的博客程序WordPress搭建起了自己的网站,因为刚开始做自媒体,内容还不够多,所以用火车头采集器采集了一些数据来充实自己网站。但是因为在采集过程中没有验证标题是否唯一,从而导致出现大量标题重复的文章。
为了解决这个问题,我需要从本地火车头采集器数据和服务器WordPress数据中分别删除重复的数据。火车头采集器使用的是access数据库,WordPress使用的是MySQL数据库。
一、access数据库删除重复数据保留唯一记录
1.打开火车头本地数据文件SpiderResult.mdb,依次点击菜单“创建”——“查询设计”打开查询设计窗口。
打开查询设计器
2.打开查询设计窗口会提示添加表,这里不添加所以点击“关闭”,然后在设计窗口空白处点击右键,选择“SQL试图(Q)”。
切换到SQL视图
3.复制下面的代码,点击工具栏中的“运行”按钮。
输入代码后运行
4.稍等片刻会提示“您正准备从指定表中删除XXX行”,点击“是”按钮即可。
确认删除数据行
access数据库去重复代码:
DELETE id
FROM content
WHERE id not in (select min(id) from content group by 标题);
二、MySQL数据库删除重复数据保留唯一记录
1.登陆MySQL数据库管理工具phpMyAdmin,在左侧数据库列表中选择要操作的数据“wordpress”,点击工具栏“SQL”按钮打开sql编辑器,复制下面的代码粘贴到编辑器,然后点击“执行”按钮,
输入SQL语句后执行
2.几秒钟之后会提示“你的SQL语句已经成功运行”,每一行代码执行后面会提示影响了多少行数据。
SQL语句执行成功
MySQL数据库去重复代码:
CREATE TABLE my_tmp AS SELECT MIN(ID) AS col1 FROM wp_posts GROUP BY post_title;
DELETE FROM wp_posts WHERE ID NOT IN (SELECT col1 FROM my_tmp);
DROP TABLE my_tmp;
注意:代码中“wp_posts”可能因安装程序时设置的前缀不同而不同,需要根据实际情况改为自己的表名称。