如何在phpMyAdmin中为指定自定义文章类型批量设置分类术语?
批量为自定义文章类型添加分类术语的SQL方案
你可以用SQL的INSERT INTO ... SELECT ...语法实现批量操作,这就是SQL里的批量处理方式,不需要写循环。
基础批量插入语句
直接把查询到的所有xxx类型文章的ID作为数据源,插入到wp_term_relationships表中:
INSERT INTO `wp_term_relationships` (`object_id`, `term_taxonomy_id`, `term_order`) SELECT ID, '222', '0' FROM `wp_posts` WHERE `post_type` = 'xxx';
避免重复插入的安全版本
如果部分文章已经关联过这个术语,直接插入会因主键重复报错,可添加判断逻辑,只插入未关联该术语的文章:
INSERT INTO `wp_term_relationships` (`object_id`, `term_taxonomy_id`, `term_order`) SELECT p.ID, '222', '0' FROM `wp_posts` p LEFT JOIN `wp_term_relationships` tr ON p.ID = tr.object_id AND tr.term_taxonomy_id = '222' WHERE p.post_type = 'xxx' AND tr.object_id IS NULL;
注意事项
- 替换语句中的
wp_为你的WordPress实际表前缀 - 确认
term_taxonomy_id确实是222(可通过查询wp_term_taxonomy表验证) - 执行前建议先备份数据库,或先用
SELECT语句预览要插入的数据,确保范围正确
内容的提问来源于stack exchange,提问作者maja
相关产品推荐
相关产品推荐

