2014-11-06 88 views
0

我想編寫我的wordpress按鈕博客的mysql遷移腳本,如果可能的話使用單個語句更新多個值的SQL查詢

這裏是sudo代碼,我想要做什麼。

SELECT post_id, meta_value FROM wp_postmeta WHERE meta_key = 'product' as olddata; 
foreach { 
UPDATE wp_postmeta SET meta_value=olddata.post_id WHERE meta_key = 'myslug_product' AND meta_value = olddata.meta_value 
} 

我知道它可以用任何編程語言來完成。但我想要SQL解決方案。

+0

您是否嘗試谷歌搜索SQL UPDATE SELECT? – 2014-11-06 13:53:32

+0

是的,我確實發現他們根據情況發生了兩次或兩次「更新」。 – Spock 2014-11-06 14:09:45

+0

[此問題發現](http://stackoverflow.com/questions/19727254/mysql-update-query-with-multiple-values) – Spock 2014-11-06 14:13:38

回答

1

爲什麼在可以進行更新連接時使用「for each」。在我看來,它是一個更清潔。

UPDATE wp_postmeta 
INNER JOIN wp_postmeta olddata 
ON meta_value = olddata.meta_value and 
    olddata.meta_key = 'product' 
SET meta_value=olddata.post_id 
WHERE meta_key = 'myslug_product' 
+0

謝謝你的回答:) – Spock 2014-11-06 14:21:48