当前位置:首页 > 个人杂谈 > 正文内容

后台使用SQL将分类文章迁移了

作者: 葛屹肃 | 日期: 2022-09-28 | 分类: 个人杂谈

昨天微改过网站,其中一项是修改了分类名称,为了方便管理,打算将修改过的2个分类合二为一,今天登录phpMyAdmin的MySQL数据库使用SQL处理好了。

后台使用SQL将分类文章迁移了

处理过程中是边查资料边处理,修改之前,对于wrodpress表关联是一无所知,还好只有11表张,相信表关联不会太复杂。

经查资料,了解到其关联,主要涉及3张表:

wp_terms:存储每个目录、标签

wp_term_taxonomy:存储每个目录、标签所对应的分类

wp_term_relationships:存储文章与对应分类的关系

表关联并不复杂,了解后,知道了文章与分类的关系记录在wp_term_relationships,只要找出要迁移的分类的ID,修改为迁移至分类的ID,即可将2个分类的文章合二为一。

查询出要迁移的分类ID为12,而迁移至分类ID为2,整理SQL如下:

update wp_term_relationships set term_taxonomy_id=2 where term_taxonomy_id=12

当执行以上SQL后,又提示:Duplicate entry ’74-2′ for key ‘PRIMARY’ 的错误,设置了主键,有重复的值插入失败。

之后使用以下SQL,查询出一篇文章刚好选择要操作的2分类,在wordpress后台,将文章的分类删除一个即可。

select object_id,count(*) as c from wp_term_relationships where term_taxonomy_id=12 or term_taxonomy_id=2 group by object_id having c>1

通过以上修改后,在网站管理查询了分类文章,确认无误。不过,还存在一个小问题,在分类页中,看到每个分类的文章统计没有改变,那只好手动更动,打开wp_term_taxonomy表,在对应count字段中更改2个分类的统计数。

至此,文章分类迁移完美完成,通过这次修改也对WordPress的表结构更加熟悉了。

版权声明:本文由〖葛屹肃〗发布,转载请注明出处!
文章链接:https://www.geyisu.com/2864.html

  • 评论:(0)

已有 0 位网友发表了一针见血的评论,你还等什么?

◎欢迎大家参与讨论