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

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

[ Hits: 49.757 ]

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

Calendário para acompanhamento de ciclo menstrual

Como fazer "quit" no SED

Miniaturas de vídeo no Dolphin/KDE (video thumbnails)

Richard Stallman in Rio

Git pull: "commit your changes or stash them before you merge" [Resolvido]

Leitura recomendada

ERROR 1045 (28000) no MySQL 5 - Ubuntu 6.06

Exportando dados do MySQL para arquivos textos

MySQL - Erro 1045: Access denied for user: 'root@localhost'

SELECT data = hoje/ontem/anteontem no MySQL

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