Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Múltiplos inserts

É possível fazer múltiplos insert em uma tabela realizando um select como subquery em uma outra tabela? Exemplo: duas tabelas idênticas chamadas de tabela1 e tabela2, onde somente a tabela 1 registros. As colunas existentes são id (int, primary key, auto_increment) e valor1 (int, NULL). Tentei fazer o comando abaixo mas não funcionou:

INSERT INTO tabela2 (
*) VALUES (
(SELECT * FROM tabela1)
);

Também tentei:

INSERT INTO tabela2 (
id, valor1) VALUES (
(SELECT id FROM tabela1 WHERE id=1),(SELECT valor1 FROM tabela1 WHERE id=1)
);

É possível realizar esse comando?

2 respostas
solução!

Lucas, tenta isso:

INSERT INTO tabela2(id, valor1)
SELECT id, valor1 FROM tabela1 WHERE id=1;

Tem que especificar os nomes das colunas nesse caso. Tanto na origem com destino.

abs

Funcionou! Também é possível inserir vários inserts de uma vez com o código:

INSERT INTO tabela2(id, valor1)
SELECT id, valor1 FROM tabela1 WHERE id>0;

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software