如何删除wordpress重复数据与不要的数据(mysql)

2019-12-23浏览 253评论 2

发现wordpress的wp_postmeta数据库有许多重复的数据以及不需要的数据,今天网上找到解决方法

查询重复数据命令:

SELECT * FROM `wp_postmeta` WHERE (post_id,meta_key) IN ( SELECT post_id,meta_key FROM wp_postmeta GROUP BY post_id,meta_key HAVING COUNT(1) > 1 )

删除数据表中wp_postmeta 中 meta_key中 指定的数据_wp2sinaid命令:

DELETE FROM wp_postmeta WHERE meta_key = '_wp2sinaid';

查询并删除wp_postmeta中重复数据

DELETE FROM wp_postmeta WHERE meta_id IN (
SELECT *
FROM (

SELECT meta_id
FROM wp_postmeta
WHERE (
post_id, meta_key, meta_value
)
IN (

SELECT post_id, meta_key, meta_value
FROM wp_postmeta
GROUP BY post_id, meta_key, meta_value
HAVING COUNT( 1 ) >1
)
AND meta_id NOT
IN (

SELECT MIN( meta_id )
FROM wp_postmeta
GROUP BY post_id, meta_key, meta_value
HAVING COUNT( 1 ) >1
)
) AS stu_repeat_copy
)

注:wp_postmeta是wordpress本来的原表名,如果你在建站的时候有更改的话,那么所有的wp_postmeta都应该改为现在数据表名现有的样子。如你看到的是wp_xxxpostmeta那么你就该改为wp_xxxpostmeta

以上仅作为个人日后使用备用,也相信各位也用得着。


发表于 6个月前 - 最近编辑于 2020-04-7 星期二

Tags:

评论审核已启用。您的评论可能需要一段时间后才能被显示。

  1. Jerry Song
    Jerry Song 【农民】 @reply

    你好,我尝试用了你的“查询并删除wp_postmeta中重复数据”代码,发现不能运行,估计是代码某个地方有误,能不能帮忙复查下你的文章中代码有没有需要修改的地方? 谢谢!

    • 如风
      如风【GM】 @reply

      @Jerry Song 我个人弄是对的,wp_postmeta你在建站的时候有没有改呢。你看看一是wp_postme是不是别的名称呢