Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Duplicar registros añadiendo nuevo valor

Estas en el tema de Duplicar registros añadiendo nuevo valor en el foro de Bases de Datos General en Foros del Web. Hola, Existe alguna manera en la misma instruccion de insertar registros duplicando registros existentes y a la vez modificar un campo de los q insertas ...
  #1 (permalink)  
Antiguo 31/01/2011, 08:14
 
Fecha de Ingreso: marzo-2010
Mensajes: 63
Antigüedad: 14 años, 1 mes
Puntos: 0
Duplicar registros añadiendo nuevo valor

Hola,

Existe alguna manera en la misma instruccion de insertar registros duplicando registros existentes y a la vez modificar un campo de los q insertas ?

Se q se puede hacer -> INSERT INTO `tabla` SELECT * FROM tabla WHERE id=valor

Pero yo quiero hacer: Registro de 5 campos

Duplicar todos los registros de una tabla cuya campo 1 = '1' y q en el campo 1 se actualice con un '2'

No se si me explicado bien...

Gracias.
  #2 (permalink)  
Antiguo 31/01/2011, 08:40
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Duplicar registros añadiendo nuevo valor

insert into tabla2 (campo1, campo2, campo3, campo4, campo5) SELECT '2', t1.campo2, t1.campo3, t1.campo4, t1.campo5 FROM tabla1 t1. WHERE t1.campo1 = 1

Prueba a ver con esto.
  #3 (permalink)  
Antiguo 01/02/2011, 02:34
 
Fecha de Ingreso: marzo-2010
Mensajes: 63
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Duplicar registros añadiendo nuevo valor

Jurena,

Me ha funcionado perfecto -> muchas gracias.

Este sistema va bien si el tamaño de registro es de pocos campos, pero si fueses por ejemplo un registro de 50/100 campos, los tendrias de especificar todos con el mismo sistema ???

A mi ya me va bien, tu respuesta, la pregunta es curiosidad

Gracias

Un saludo
Savi
  #4 (permalink)  
Antiguo 01/02/2011, 09:59
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Duplicar registros añadiendo nuevo valor

Sí, tendrías que especificarlos, pero siempre tienes la opción de recuperar mediante una consulta todos los nombres de campo o bien con programación, y cambiar sólo uno, también mediante programación. De todas formas, aunque es posible un registro con 50 o 100 campos o columnas, no es lo habitual y puede ser que algo falle, aunque desconozco la naturaleza de los datos y el modelado de tu base. No podrás hacerlo, creo, sin especificar a qué campo poner el 2. Si no haces cambios y los campos son los mismos y de la misma naturaleza, sí podrías hacer un INSERT INTO nombretabla SELECT * FROM nombreotratabla. Pero, ojo, si tienes un id en ambas tablas o un índice único, cuando lo intentes hacer con datos que se repitan en esos campos verás que no te lo permite. Tendrías que desactivarlo porque no pueden repetirse y el autoincrement te produciría problemas. De ahí la necesidad de nombrar los campos y controlar la inserción. Si no hay primary key y no existiese un índice único, o no hubiera datos repetidos, podrías hacerlo perfectamente.

Última edición por jurena; 02/02/2011 a las 01:48
  #5 (permalink)  
Antiguo 02/02/2011, 07:22
 
Fecha de Ingreso: marzo-2010
Mensajes: 63
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Duplicar registros añadiendo nuevo valor

Jurena,

Muchas gracias. Clarisimo !!!

Via programacion ya tengo claro como hacerlo, recupero, modifico y update. Pero cada vez tengo mas claro q lo q pueda hacer el server q lo haga el y no generas tanto trafico en la red. Y mas si quieres jugar con campos de tipo blob.

Muchas gracias.

Etiquetas: duplicar, registros
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:48.