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

ON DUPLICATE KEY UPDATE con multiple inserts

Estas en el tema de ON DUPLICATE KEY UPDATE con multiple inserts en el foro de Mysql en Foros del Web. Tengo una estructura de insert del tipo: INSERT INTO keywords VALUES ('1','palabra'), ('1','clave') Cómo puedo hacer para que no me de error cuando hay un ...
  #1 (permalink)  
Antiguo 15/09/2010, 10:00
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 8 meses
Puntos: 101
ON DUPLICATE KEY UPDATE con multiple inserts

Tengo una estructura de insert del tipo:

INSERT INTO keywords VALUES ('1','palabra'), ('1','clave')

Cómo puedo hacer para que no me de error cuando hay un duplicado? Pensé en

ON DUPLICATE KEY UPDATE

... pero qué consigna ponerle? No puede predecir los valores de los pares (int, varchar)
  #2 (permalink)  
Antiguo 15/09/2010, 10:31
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: ON DUPLICATE KEY UPDATE con multiple inserts

utiliza RELACE INTO.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 15/09/2010, 10:38
Avatar de 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: ON DUPLICATE KEY UPDATE con multiple inserts

Si el primer campo es autonumérico, simplemente no lo pongas. Invoca el insert:
Código MySQL:
Ver original
  1. INSERT INTO keywords(kword) VALUES ('palabra'), ('clave');
y deja que MySQL controle la numeración
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 15/09/2010, 10:42
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 8 meses
Puntos: 101
Respuesta: ON DUPLICATE KEY UPDATE con multiple inserts

Gracias huesos. Por ahora definí el campo como Unique y eliminé la llamada a error desde PHP, que no es lo mejor.

Gracias gnzsoloyo. Así lo hago. En realidad mi caso es trino ('', 'keyword', 'fkeyword'); y puse el ejemplo por ser breve.
  #5 (permalink)  
Antiguo 15/09/2010, 11:31
Avatar de 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: ON DUPLICATE KEY UPDATE con multiple inserts

Para el caso es lo mismo. Si un campo es PK numérico y autoincremental no le puedes mandar un valor o te dará error de clave duplicada. Tienes que omitirlo y dejar que MySQL lo administre.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: duplicate, key, update
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 13:51.