2017-01-27 5 views
0

У меня есть таблица Копирование данных из одного столбца в другой в MySQL

col-PK col2 col3 col4 
1  a  aa  aaa 
2  b  bb  bbb 

Я создал новую таблицу B с тремя столбцами только

col-PKB colOne ColTwo 

Я хочу ниже как Конечный результат

Таблица A

col-PK col2 col3 col4 
1  a  aa  aaa 
2  b  bb  bbb 

Таблица B

col-PKB colOne ColTwo 
1  a  aa  
2  b  bb 

Решение Я смотрел в SO LINK. Но я думаю, что мне нужно использовать оператор select, так как у меня есть multiple columns для копирования. Пожалуйста, направляйте меня сюда. Я потерян.

ответ

1

Вы можете использовать INSERT INTO с SELECT -query столбцов вы хотите добавить:

INSERT INTO tableB (col-PKB, colOne, ColTwo) 
    SELECT 
    col-PK, 
    col2, 
    col3 
    FROM tableA; 
+0

I проверили документацию и есть одно предложение SELECT INTO. Разве это не то, что мне нужно. Просто интересуюсь. – Unbreakable

+0

Конечно, вы также можете использовать 'SELECT col-PK, col2, col3 INTO tableB FROM tableA'. Но это создает новый tableB. Новая таблица будет создана с именами столбцов и типами, как определено в инструкции 'SELECT'. Вы можете применять новые имена, используя предложение 'AS'. Но если вы уже создали такой, как в своем вопросе, используйте 'INSERT INTO'. – mxlse

+0

У меня уже есть таблица со всеми созданными в ней столбцами. Поэтому, я думаю, мне лучше с вашим оригинальным ответом. Спасибо огромное! – Unbreakable

1

Попробуйте так:

INSERT INTO table (column) 
    SELECT a_column 
    FROM a_table 

В вашем случае,

INSERT INTO tableB (
col-PKB, colOne, ColTwo 
) 
SELECT col-PK, col2, col3 
FROM tableA 
Смежные вопросы