提问人:J.R. 提问时间:10/20/2023 更新时间:10/20/2023 访问量:6
如何使用 mysql 通过Post_id和更新表来查找自定义分类值
How to Look Up Custom Taxonomy Value by Post_id and Update Table Using Mysql
问:
我已经为此工作了几个小时,但无法弄清楚。长话短说,我正在一个 Wordpress 网站上工作,到目前为止,我为各种专业人士导入了大约 1M 个列表。他们根据他们的专业(例如,水管工、机械师、护士等)进行组织。其中只有大约 70% 被正确索引,因此其中很多没有被网站上的搜索功能选中。我认为将其余部分转储到另一个表中并插入它们是个好主意。
我将我需要的几乎所有列的每个字段都导入到复制表中,但专业和业务隶属关系除外。这些是如何组织的,这是非常令人困惑的。我不知道如何转移特定分类值的值。每个专业人员只有一个专业,但可以/可能不会有多个隶属关系。
wp_term_relationships
object_id term_taxomony_id term_order
5705 53192 1
5705 55596 1
wp_term_taxonomy
term_taxonomy_id term_id taxonomy description parent count
53192 53186 hospitals 121
55596 55590 specialty 57479
wp_terms
term_id name slug term_group order
53186 Texas Orthopedic Hospital texas-orthopedic-hospital 0 0
55590 Physician Assistant physician-assistant 0 0
连接已经足够令人困惑,而不必处理 wordpress 数据库的结构。似乎我需要加入 3 张桌子。我知道如何使用 vlookup 做到这一点,但现在我致力于使用 mysql 学习这个过程。
UPDATE wp_leftover_pros_temp wp
JOIN wp_term_relationships wtr ON (wp.`post_id` = wtr.`object_id`)
JOIN wp_term_taxonomy wtt ON (wtr.`term_taxonomy_id` = wtt.`term_taxonomy_id`)
JOIN wp_terms wt ON (wt.`term_id` = wtt.`term_id`)
SET wp.specialty = wt.name
WHERE wp.post_id = wtr.object_id AND wtr.term_taxonomy_id = '55596'
正确输入该代码会更新该专业的每个匹配项(55590 = 医师助理)。如果我将其删除,则剩余的记录将更新为默认值,由于某种原因,该值似乎是性别。我有 400 多个专业。我希望它能将每个post_id与专业相匹配,并找到正确的值。我不确定为什么它是这样设计的。
有没有办法在不创建 400+ 更新语句的情况下更新每个帖子的专业?
答: 暂无答案
评论