Me preguntaba si hay una manera de hacer esto únicamente en sql:
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);
Nota: q1 devolvería unas 30k filas.
¿Hay alguna manera de hacer lo que estoy intentando arriba en sql recto? ¿Para extraer los datos directamente de una tabla (básicamente una tabla de datos sin procesar) e insertar en otra tabla (básicamente una tabla de datos procesados)?
INSERT INTO ... SELECT
declaración?INSERT
para toda la fila
para la columna seleccionada
fuente
Respondido por zerkms es el método correcto. Pero, si alguien busca insertar más columnas adicionales en la tabla, puede obtenerlo de lo siguiente:
En la consulta anterior, hay 2 columnas adicionales llamadas email & current_time .
fuente
fuente
Análisis
Podemos usar la consulta anterior si queremos copiar datos de una tabla a otra en mysql
Resultados de ejecución
1 consultas ejecutadas, 1 éxito, 0 errores, 0 advertencias
Consulta: insertar en preliminar_image (style_id, pre_image_status, file_extension, reviewer_id, uploader_id, is_deleted, last_updated) select ...
5 filas afectadas
Tiempo de ejecución: 0.385 segundos Tiempo de transferencia: 0 segundos Tiempo total: 0.386 segundos
fuente