2017-10-04 25 views
-2

我用更新後的版本覆蓋舊的Wordpress網站後遇到了問題。不幸的是一些高級自定義字段值在這個過程中丟失了。如何合併兩個MySQL數據庫,但僅當列匹配時才能合併?

我有一箇舊網站的數據庫備份,它具有我需要填充正確內容的字段的表。

有我這個舊的數據庫基於這些條件目前一個合併的方式:

  • 只有合併wp_postmeta表
  • 只覆蓋meta_value其中meta_key是pdf
  • 觸摸閒來無事

Every meta_value where meta_key is pdf should get updated

+0

是的,你可以做一個SQL查詢插入到一個分貝。來自另一個表格的表格和那些requeriiments。 – nacho

+0

這是一張桌子。 – Strawberry

回答

0

你可以做到這一點,可能以多種方式。這是我將如何去做的。

  • 恢復舊數據庫到一個單獨的數據庫(db_old)
  • 關閉自動提交
  • 運行更新
  • 檢查數據
  • 提交
  • 一些咖啡慶祝

未經測試的更新聲明...

UPDATE db.wp_postmeta a 
JOIN db_old.wp_postmeta b on a.meta_id = b.meta_id 
and a.post_id = b.post_id 
set a.meta_value = b.meta_value 
where a.meta_key = 'pdf';  

這裏的文檔裁判的更新: https://dev.mysql.com/doc/refman/5.7/en/update.html

更新文檔是指table_reference,這是記錄在這裏: https://dev.mysql.com/doc/refman/5.7/en/join.html