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

Duplicar linea excepto id y otro campo

Estas en el tema de Duplicar linea excepto id y otro campo en el foro de Mysql en Foros del Web. Hola a todos. Lo que pretendo es duplicar una línea de una tabla excepto el campo clave autoincrementable 'id' y otro campo 'id_hotel'. He probado ...
  #1 (permalink)  
Antiguo 20/07/2007, 02:01
Avatar de Mahalo  
Fecha de Ingreso: julio-2004
Ubicación: Mallorca (Illes Balears)
Mensajes: 1.121
Antigüedad: 19 años, 8 meses
Puntos: 12
Duplicar linea excepto id y otro campo

Hola a todos.

Lo que pretendo es duplicar una línea de una tabla excepto el campo clave autoincrementable 'id' y otro campo 'id_hotel'.

He probado esto, pero no hace exactamente lo que quiero:

INSERT INTO presupuesto_cierres
SELECT * FROM presupuesto_cierres A
WHERE A.id_hotel=30 AND A.anyo=2007
ON DUPLICATE KEY UPDATE id = LAST_INSERT_ID(A.id)+1, id_hotel=50

Como veis, quiero duplicar una línea del hotel 30 para que el hotel 50 tenga lo mismo. Pues este código, lo que hace es actualizar la línea (un nuevo id e id_hotel=50) en vez de insertar una nueva.

Saludos!
  #2 (permalink)  
Antiguo 20/07/2007, 04:33
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 7 meses
Puntos: 19
Re: Duplicar linea excepto id y otro campo

Prueba a seleccionar todos los campos menos el id autoincrementable.
Código:
INSERT INTO presupuesto_cierres
SELECT (todos los campos menos el id) FROM presupuesto_cierres A
WHERE A.id_hotel=30 AND A.anyo=2007 AND id_hotel=50
  #3 (permalink)  
Antiguo 20/07/2007, 05:02
Avatar de Mahalo  
Fecha de Ingreso: julio-2004
Ubicación: Mallorca (Illes Balears)
Mensajes: 1.121
Antigüedad: 19 años, 8 meses
Puntos: 12
Re: Duplicar linea excepto id y otro campo

Esta era la alternativa. El caso muchos campos, y es un proceso que no tengo que hacer en una sola tabla, sino en todas las tablas de presupuestos, lo cual es un curro enorme. Si no hay más remedio lo haré, lo tenía como plan B. Era por saber si había una forma de hacerlo, aunque sólo fuera con el id, ya que luego puedo actualizar el otro campo.
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 21:02.