Ich habe mich gefragt, ob es eine Möglichkeit gibt, dies nur in SQL zu tun:
q1 = SELECT campaign_id, from_number, received_msg, date_received
FROM `received_txts` WHERE `campaign_id` = '8';
INSERT INTO action_2_members (campaign_id, mobile, vote, vote_date)
VALUES(q1.campaign_id, q1.from_number, q1.received_msg, q1.date_received);
Hinweis: q1 würde ungefähr 30.000 Zeilen zurückgeben.
Gibt es eine Möglichkeit, das, was ich oben versuche, in Straight SQL zu tun? Um die Daten direkt aus einer Tabelle (im Grunde eine Rohdatentabelle) zu ziehen und in eine andere Tabelle (im Grunde eine verarbeitete Datentabelle) einzufügen?
INSERT INTO ... SELECT
Anweisung?INSERT
für die ganze Reihe
für ausgewählte Spalte
quelle
Mit zerkms beantwortet ist die richtige Methode. Wenn jedoch jemand mehr zusätzliche Spalten in die Tabelle einfügen möchte, können Sie diese wie folgt abrufen:
In der obigen Abfrage gibt es 2 zusätzliche Spalten mit dem Namen email & current_time .
quelle
quelle
Analyse
Wir können die obige Abfrage verwenden, wenn wir Daten von einer Tabelle in eine andere Tabelle in MySQL kopieren möchten
Ausführungsergebnisse
1 Abfragen ausgeführt, 1 Erfolg, 0 Fehler, 0 Warnungen
Abfrage: In vorläufiges_Bild einfügen (style_id, pre_image_status, file_extension, reviewer_id, uploader_id, is_deleted, last_updated) auswählen ...
5 Reihe (n) betroffen
Ausführungszeit: 0,385 Sek. Übertragungszeit: 0 Sek. Gesamtzeit: 0,386 Sek
quelle