Foros del Web » Programando para Internet » PHP »

insert on duplicate key

Estas en el tema de insert on duplicate key en el foro de PHP en Foros del Web. Hola a todos, Tengo un listado de productos, y cuando me meto en uno, puedo darle a una opcion que es copiar producto. Para ello ...
  #1 (permalink)  
Antiguo 01/10/2008, 03:56
 
Fecha de Ingreso: febrero-2006
Mensajes: 297
Antigüedad: 18 años, 2 meses
Puntos: 1
insert on duplicate key

Hola a todos,

Tengo un listado de productos, y cuando me meto en uno, puedo darle a una opcion que es copiar producto. Para ello tengo la siguiente instruccion:

mysql_query("INSERT INTO productos SELECT * FROM productos WHERE Id=".$Id." ON DUPLICATE KEY UPDATE Id=".$Idnuevo)

Se supone que duplica el inmueble y le cambia el id al viejo no? No sé porqué pero no me lo copia, solamente me cambia el id.
  #2 (permalink)  
Antiguo 01/10/2008, 04:01
 
Fecha de Ingreso: octubre-2004
Mensajes: 2.627
Antigüedad: 19 años, 5 meses
Puntos: 48
Respuesta: insert on duplicate key

Esa consulta o inserta o actualiza, solo una de las 2. Para lo que tu quieres, haz solo el insert sin el on duplicate key, pero en el select indica todos los campos menos el id (quizas tambien tienes que indicar los campos en el insert). Esto si id es un campo autoincremental. Si el id lo metes tu el valor a mano ($idnuevo), indica ese valor en la lista de campos del select.
  #3 (permalink)  
Antiguo 01/10/2008, 04:17
 
Fecha de Ingreso: febrero-2006
Mensajes: 297
Antigüedad: 18 años, 2 meses
Puntos: 1
Respuesta: insert on duplicate key

y no hay alguna otra manera de copiar un registro sin tener que escribir uno a uno todos los campos? Es que es una tabla a la que añado campos muy a menudo y me venía bien tener una instruccion así.
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:35.