后台使用SQL将分类文章迁移了
作者: 葛屹肃 | 日期: 2022-09-28 | 分类: 个人杂谈
昨天微改过网站,其中一项是修改了分类名称,为了方便管理,打算将修改过的2个分类合二为一,今天登录phpMyAdmin的MySQL数据库使用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