SQL: Combinando INSERT + SELECT para duplicação de registros
Dica publicada em Banco de Dados / MySQL
SQL: Combinando INSERT + SELECT para duplicação de registros
Essa semana surgiu a necessidade de duplicar um registro numa de minhas tabelas do banco de dados MySQL. A solução mais prática encontrada foi, ao invés de criar um INSERT por extenso copiando os valores do registro a ser duplicado, combinar o uso do INSERT com SELECT.
Vale lembrar que essa dica é para aqueles que já possuem uma certa experiência em comandos SQL.
Supondo que nossa tabela tenha a seguinte estrutura:
e desejo duplicar o registro que possui o email jabara@tibirica.com, o comando SQL para tal seria:
INSERT INTO contato (nome, email, telefone, obs)
SELECT nome, email, telefone, obs FROM contato
WHERE email='jabara@tibirica.com';
Auto-explicativo certo?
Um abraço.
Vale lembrar que essa dica é para aqueles que já possuem uma certa experiência em comandos SQL.
Supondo que nossa tabela tenha a seguinte estrutura:
CREATE TABLE contato (
codigo int not null auto_increment primary key,
nome varchar(200) not null,
email varchar(100) not null,
telefone varchar(100),
obs text
);
codigo int not null auto_increment primary key,
nome varchar(200) not null,
email varchar(100) not null,
telefone varchar(100),
obs text
);
e desejo duplicar o registro que possui o email jabara@tibirica.com, o comando SQL para tal seria:
INSERT INTO contato (nome, email, telefone, obs)
SELECT nome, email, telefone, obs FROM contato
WHERE email='jabara@tibirica.com';
Auto-explicativo certo?
Um abraço.