..


Links Patrocinados

Duplicate / Copiar um registro no MySQL

Artigo escrito por Max Bossi

Sob certas circunstâncias, pode acontecer de ter a necessidade, dentro de um aplicativo web ou simplesmente gerenciamento de dados em nossa empresa banco de dados MySQL, para fazer cópias de registros inteiros ou partes deles.

Vamos dar um exemplo. Vamos dizer que temos de gerir o banco de dados de um e-commerce e pode precisar de copiar uma folha para inserir um novo com as mesmas características que um já existente. Suponha, por exemplo concreto, tendo que entrar como um produto de nossa loja hipotética eletrônica no produto "16GB iPod Nano" no cartão "Silver" de cor com o mesmo produto para o "iPod Nano de 16GB" já está disponível a cor "branca" .

Suponha que a família de produtos iPod são classificados na tabela lettori_mp3 estruturado da seguinte forma:

  • ID
  • marca
  • modelo
  • descrição
  • cor
  • preço
Suponha que o produto que você deseja copiar ("iPod Nano de 16GB" cor "Branca") tem ID 123.

Para fazer uma cópia do registro, vamos utilizar esta consulta:






 INSERT INTO lettori_mp3

 





 SELECT * FROM WHERE id = 123 lettori_mp3;



Desta forma vamos criar um registro o mesmo e vamos apenas alterar os campos "ID" e "cor" manualmente, especificando os valores para o novo registro.

Note, no entanto, que se o campo ID da nossa tabela foi definida como um valor numérico com auto_increment vista única sobre a consulta retornará um erro (porque você não pode ter dois identificadores idênticos !!!). Neste caso, devemos selecionar os campos que você deseja copiar excluindo o campo ID:






 INSERT INTO lettori_mp3 (marca, modelo, descrição, preço, cor)







 SELECIONE marca, modelo, descrição, 'Prata', lettori_mp3 preço FROM WHERE id = 123;



Como você pode ver, temos copiados todos os campos do registro, exceto o campo "ID" (pelo motivo mencionado acima).
Você deve ter notado, também, que temos substituído no SELECT campo "cor" (no registro original a cor é "branco"), o valor a ser inserido no novo registro ("Silver").

Et voila. Você está feito.
Só temos de fazer um bom SELECT em nossa mesa para ver se o novo registro foi digitado corretamente.

É quase desnecessário salientar, por fim, que você pode fazer cópias de todos ou parte dos registros de tabelas diferentes também (é o suficiente para especificar os nomes corretos dos campos para copiar e se certificar de que eles aceitam os tipos de dados mesmo).

Na mesma categoria ...
E-Learning
MS Access (Avançado) MS Access (Avançado)
Saiba como criar e gerenciar bancos de dados com rapidez e facilidade. A partir de 29 €.
MySQL (Curso) MySQL (Curso)
Gestão de banco de dados open-source. A partir de 39 €.
SQL e Banco de Dados (Curso) SQL e Banco de Dados (Curso)
Criar e gerenciar bancos de dados relacionais. A partir de 39 €.
Links Patrocinados