Eu queria saber se existe uma maneira de fazer isso puramente em 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: o q1 retornaria cerca de 30 mil linhas.
Existe alguma maneira de fazer o que estou tentando acima em sql direto? Apenas puxar os dados diretamente de uma tabela (basicamente uma tabela de dados brutos) e inserir em outra tabela (basicamente uma tabela de dados processados)?
INSERT INTO ... SELECT
declaração?INSERT
para toda a linha
para a coluna selecionada
fonte
Respondida por zerkms é o método correto. Mas, se alguém que deseja inserir mais coluna extra na tabela, poderá obtê-lo do seguinte:
Na consulta acima, existem 2 colunas extras denominadas email e current_time .
fonte
fonte
Análise
Podemos usar a consulta acima se queremos copiar dados de uma tabela para outra no mysql
Resultados de execução
1 consultas executadas, 1 sucesso, 0 erros, 0 avisos
Consulta: insira na imagem preliminar (id_do_estilo, status_de_imagem, extensão_do_arquivo, id_do revisor, id_do uploader_id, is_deleted, last_updated) selecione ...
5 linha (s) afetada (s)
Tempo de Execução: 0.385 s Tempo de Transferência: 0 s Tempo Total: 0.386 s
fonte