2017-01-27 1 views
0

Ich habe eine Tabelle AKopieren von Daten von einer Spalte zur anderen in MySQL

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

ich eine neue Tabelle erstellt haben B mit drei Spalten nur

col-PKB colOne ColTwo 

ich unten wollen als die Endgültige Ausgabe

Tabelle A

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

Tabelle B

col-PKB colOne ColTwo 
1  a  aa  
2  b  bb 

Lösung Ich sah in SO LINK. Aber ich denke, ich muss select Anweisung verwenden, wie ich multiple columns zu kopieren habe. Bitte führe mich hierhin. Ich bin verloren.

Antwort

1

Sie INSERT INTO mit einem SELECT -query der Spalten verwenden können, die Sie hinzufügen möchten:

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

I überprüft die Dokumentation und es gibt eine SELECT INTO-Klausel. Brauche ich das nicht? Ich frage mich nur. – Unbreakable

+0

Natürlich können Sie auch 'SELECT col-PK, col2, col3 INTO tableB FROM tableA' verwenden. Dies erzeugt jedoch eine neue Tabelle. Die neue Tabelle wird mit den in der SELECT-Anweisung definierten Spaltennamen und -typen erstellt. Sie können neue Namen mit der AS-Klausel anwenden. Wenn Sie bereits ein Like in Ihrer Frage erstellt haben, verwenden Sie INSERT INTO. – mxlse

+0

Ich habe bereits die Tabelle mit allen Spalten darin erstellt. Also denke ich, dass es mir besser geht mit deiner ursprünglichen Antwort. Ich danke dir sehr! – Unbreakable

1

wie diese versuchen:

INSERT INTO table (column) 
    SELECT a_column 
    FROM a_table 

In Ihrem Fall

INSERT INTO tableB (
col-PKB, colOne, ColTwo 
) 
SELECT col-PK, col2, col3 
FROM tableA 
Verwandte Themen