Ich bin neu in MySQL. Ich möchte den Inhalt einer Tabelle in eine andere Tabelle innerhalb derselben Datenbank kopieren. Grundsätzlich möchte ich eine Tabelle aus einer anderen Tabelle einfügen. Gibt es eine einfache Möglichkeit, dies zu tun?
117
Wenn die Tabelle nicht vorhanden ist, können Sie eine Tabelle mit demselben Schema wie folgt erstellen:
So kopieren Sie die Daten:
quelle
SELECT * INTO newTable FROM sourceTable
in w3school gefunden , warum er nicht funktioniertMySQL
SELECT ... INTO
soll eine Tabelle in eine Ausgabedatei oder in Variablen exportieren. nicht direkt in einen Tisch. Siehe dev.mysql.com/doc/refman/5.7/en/select-into.htmlWenn table1 groß ist und Sie es nicht für die Dauer des Kopiervorgangs sperren möchten, können Sie stattdessen ein Dump-and-Load durchführen:
quelle
show processlist
ich beim Überprüfen keine laufende Abfrage sehen. Ich bin mir nicht sicher, worum es geht.Das hat bei mir funktioniert,
CREATE TABLE newtable LIKE oldtable;
Repliziert Newtable mit alter Tabelle
INSERT newtable SELECT * FROM oldtable
;;Kopiert alle Zeilendaten in eine neue Tabelle.
Danke dir
quelle
Wenn Sie den Inhalt in einer einzigen Aufnahme erstellen und kopieren möchten, verwenden Sie einfach SELECT:
quelle
Das hat bei mir funktioniert. Sie können die SELECT-Anweisung mit den WHERE- und LIMIT-Klauseln komplexer gestalten.
Duplizieren Sie zuerst Ihre große Tabelle (ohne die Daten), führen Sie die folgende Abfrage aus und schneiden Sie dann die größere Tabelle ab.
Super einfach. :-)
quelle
Versuche dies. Funktioniert gut in meinem Oracle 10g,
quelle