typecho 在mysql中去掉重复数据 - typecho 查重、去重

去重

最近利用typecho建了一个网站,后端用了pyspider爬虫来填写部分内容,后来多次重启爬虫程序导致mysql出现重复数据。最后不得不将mysql中重复的数据去掉。具体代码:

delete `typecho_contents`
   from `typecho_contents`
  inner join (
     select max(cid) as lastId, title
       from `typecho_contents`
      group by `title`
     having count(*) > 1) duplic on duplic.title = typecho_contents.title
  where typecho_contents.cid < duplic.lastId;

上面这段代码只去掉typecho_contents中重复的内容,如果你的typecho有自定义字段或者tags和分类,这些是去掉不了的。
对了,上面这些操作需要在mysql中的query操作。

查重

如果只是想简单查重的话,下面代码可以实现:

select `title` 
        from `typecho_contents`
       group by `title`
      having count(*) > 1

参考原文:MySQL delete duplicate records but keep latest

评论

暂无

添加新评论