SQL: Combinando INSERT + SELECT para duplicação de registros

Publicado por Fábio Berbert de Paula em 19/01/2009

[ Hits: 49.765 ]

Blog: https://fabio.automatizando.dev

 


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:

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
);

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.

Outras dicas deste autor

Descubra o quanto você já gastou na Google Play

Usando o cURL para enviar JSON POST DATA

Como fazer print() sem quebra de linha em Python

Baixando sites recursivamente

Como copiar arquivos do Windows para o Linux

Leitura recomendada

MySQL - Erro: mysqldump: Got error: 1044 [Resolvido]

Instalando o Servidor MySQL no Linux

Automatizando o processo de backup do MySQL

Como solucionar ERROR 2002: Can't connect to local MySQL server

MySQL Error: #1558 - Column count of mysql.proc is wrong. Expected 20, found 16. ... Please use mysql_upgrade to fix this error

  

Comentários
[1] Comentário enviado por fabio em 15/09/2011 - 11:21h

Testando uso de captcha...



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts