2015-10-15 22 views
1

比方說,我有一個OLD_TABLE 74列恢復這裏:樞軸MySQL的 - 如何將數據從一個表移動到一個新的

ID NICKNAME FIRST_NAME LAST_NAME 
7 Nick1  Name1  Lastname1 
8 Nick2  Name2  Lastname2 

,我需要有這樣的數據移動和轉動到一個NEW_TABLE MySQL用於將用戶數據導入Wordpress。

UMETA_ID USER_ID  META_KEY META_VALUE 
1   7   NICKNAME Nick1 
2   7   FIRST_NAME Name1 
3   7   LAST_NAME Lastname1 
4   8   NICKNAME Nick2 
5   8   FIRST_NAME Name2 
6   8   LAST_NAME Lastname2 

我該如何在MySQL中實現這一目標?在此先感謝您,併爲您提供幫助,幫助他們從水中覓食。

+0

你有什麼已經嘗試過? –

+0

我使用Navicat建模old_table列名稱和序列以匹配new_table上的行序列。那一部分很好,但我花了差不多一天的時間。但是我對MySQL命令進行這種遷移的知識是零。我知道這並不難。我在這裏發現一個問答,那個傢伙正在做相反的事情。我嘗試了他所做的命令,但在new_table的幾行中重複old_table的ID值不起作用。 – Fernando

+0

感謝亞歷克斯的幫助。還有問題本身。我試圖刪除更正,而不是......更正。/o \ 插入行和數據很好,幫了很大忙。但是,我注意到列名中的「 - 」給了一個巨大的錯誤(?)。比我更改爲「_」併成功! – Fernando

回答

1

您可以從:

http://sqlfiddle.com/#!9/57543/2

INSERT INTO new (user_id, meta_key, meta_value) 
SELECT old.id, 'NICKNAME', old.nickname FROM old 
UNION 
SELECT old.id, 'FIRST_NAME', old.first_name FROM old 
UNION 
SELECT old.id, 'LAST_NAME', old.last_name FROM old 
相關問題