2015-10-15 25 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 
相关问题