我需要對WordPress DB進行更新,但考慮到次要條件時我會一直打到路障。僅當存在元值#2和元鍵#2時,爲元鍵#1設置元值#1
在非常簡單的話來說,我有一個meta_key = '花'需要一個meta_value = '玫瑰'要設置只在meta_key = '月'和meta_value = '八一'。
我還沒有能夠編寫包含第二個條件的成功mySQL查詢。我知道如何做到這一點:
update wp_postmeta
set meta_value = 'roses'
where meta_key = 'flowers'
但不僅限於meta_key =「月」和meta_value =「八一」
任何幫助將不勝感激!提前致謝。
更新#1:
按照要求通過@Strawberry,給予進一步的細節我的問題。我不完全確定,但meta_key ='花'和meta_key ='月'必須相關。就目前而言,所有帖子都由meta_key ='flowers'和meta_key ='month'組成。
UDPATE#2:
我能夠從@Rahul得到幫助,這裏是爲我工作的版本:
UPDATE wp_postmeta a
JOIN wp_postmeta b ON a.post_id = b.post_id AND
b.meta_key = 'month' AND
b.meta_value = 'august'
SET a.meta_value = 'roses'
WHERE a.meta_key = 'flowers';
希望這將幫助其他人。此外,有關JOIN的更多詳細信息,請參閱:How to do 3 table JOIN in UPDATE query?
感謝大家!
@Strawberry嗯......好點:-)編輯我的答案,那是代表我的愚蠢。 – Mureinik
我不完全確定如何回答你的問題。你指的是meta_key =花和meta_key =月是相關的嗎?這是需要post_id嗎? – Jorge
@喬治嗯,是的 - 我們還能怎麼知道它們是相關的 - 但這在評論中討論太重要了。也許你可以修改你的問題。 – Strawberry