【发布时间】:2013-02-27 23:58:43
【问题描述】:
UPDATE wp_postmeta
set meta_value = 'a:1:{i:0;s:6:"Subbed";}'
WHERE meta_key = 'episode_sdversion'
这基本上是我能走多远。这只是意味着我想更新wp_postmeta 表并将meta_value 列设置为a:1:{i:0;s:6:"Subbed";} 当meta_key 是episode_sdversion 这很好。
这是问题所在,我想检索另一个 WHERE 子句。但要获得“WHERE”,我需要从多个表中检索信息。
从具有第一个单词“Subbed”的表 wp_terms 列 name 中,我从 term_id 列中获取 ID。所以我想这会像这样工作
SELECT term_id
FROM `wp_terms`
WHERE `name` LIKE '%Subbed %'
然后使用您刚刚在表 wp_term_relationships 中检索到的那个 term_id 值
并检查它是否等于term_taxonomy_id 列中的值,然后检查object_id WHERE term_taxonomy_id = whatever you just got from before 列中的值。 object_id 将等于 wp_postmeta 中的 post_id 列,这将是我的第二个 WHERE 子句...
所以我的最终代码看起来与此类似
UPDATE wp_postmeta
set meta_value = 'a:1:{i:0;s:6:"Subbed";}'
WHERE meta_key = 'episode_sdversion'
AND WHERE post_id = the ID that I am trying to get from going through different tables
我也可以使用WHERE meta_value = '' ...所以只有在meta_value = '' 空白时将meta_value 设置为a:1:{i:0;s:6:"Subbed";}...
所以,如果你们对如何从其他表中获取信息并将其保存在某种变量中然后在最终查询中引用它有任何想法,那会很棒,或者组合多个查询?
【问题讨论】:
标签: mysql wordpress phpmyadmin