2013-06-20 99 views
1

我有一個數據庫中的兩個表是這樣的:匹配和替換MySQL查詢

article表

id | name 
------------ 
1 | Cars 

META TABLE

id | post_id | key | value 
--------------------------- 
1 | 1  | Audi | 42 

而且要精確匹配(值)並替換兩個表(id/post_id)的值,並像這樣轉換:

,度假村TABLE

id | name 
------------ 
42 | Cars 

新的元表

id | post_id | key | value 
--------------------------- 
1 | 42  | Audi | 42 

這可能嗎? 謝謝!

+0

您要選擇的記錄或想在新表 –

回答

0

這裏假定articlemeta之間的關係是article.id ==>meta.post_id

article,該id被替換爲相關meta.value

UPDATE article 
INNER JOIN meta ON article.id = meta.post_id 
SET id = meta.value 

對於new_meta,它看起來像你只需要做出post_id一樣value。這可能是由於測試數據造成的誤解。如果需要連接,請按照上面的查詢示例進行操作。

UPDATE meta 
SET post_id = value; 
+0

埃德嗨插入,沒有沒有「new_article」和「new_meta」表,它是我想要的只是例子。我在同一張桌子上尋找解決方案? –

+0

明白了 - 你的意思是「REPLACE」呢?這應該是可行的。我會盡快發佈更新。 –

+0

亞歷克斯 - 我已經更新了答案。第二個查詢很容易,讓我想知道我是否誤解了你想用'meta'表進行的操作。讓我知道如果是這樣的話。 –