Ver Mensaje Individual
  #4 (permalink)  
Antiguo 25/05/2010, 07:12
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Insert select * on duplicate key

Pues la forma en que lo estás haciendo no solo es incorrecta sino que no tiene sentido...
El tema es así:
Si tienes dos tablas con iguales campos y quieres volcar los datos de una de ella en la otra, sabiendo que sólo puede haber repeticiones en los ID y no en el resto de los datos, lo que debes hacer es invocar los campos que vas a insertar, omitiendo el ID:
Código MySQL:
Ver original
  1. INSERT INTO tabla1(B, C, D, E,  F, G, H, I, J)
  2. SELECT B, C, D, E,  F, G, H, I, J
  3. FROM tabla2;
Es decir que lo que no puedes hacer es invocar todos los campos con "*"....
Lo siento, pero eso es lo que se hace en estos casos.

Recuerda que si tienes un autoincrement, ese dato no se debe enviar en un INSERT, ya que lo maneja el MySQL.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)