2015-10-15 5 views
1

Допустим у меня есть old_table с 74 колоннами возобновился здесь:Pivot 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

Я смоделировал имена и последовательности столбцов old_table, чтобы они соответствовали последовательности строк в new_table, используя Navicat. Эта часть была прекрасна, но я провел почти один день. Но мои знания команд MySQL для продолжения этой миграции равны нулю. Я знаю, что это не сложно. Я нашел здесь одну викторину, что чувак делал именно обратное. Я пробовал команды, которые он делал, но повторение значений идентификатора old_table в нескольких строках new_table не работает. – 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 
Смежные вопросы