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

Duda con ON DUPLICATE KEY UPDATE

Estas en el tema de Duda con ON DUPLICATE KEY UPDATE en el foro de Mysql en Foros del Web. Hola Amigos Del Foro estoy usando ON DUPLICATE KEY UPDATE cuando inserto una fila, Hasta aca venia perfecto , pero me encontre con un incoveniente ...
  #1 (permalink)  
Antiguo 28/12/2011, 06:30
 
Fecha de Ingreso: octubre-2010
Ubicación: Buenos Aires
Mensajes: 557
Antigüedad: 13 años, 6 meses
Puntos: 4
Duda con ON DUPLICATE KEY UPDATE

Hola Amigos Del Foro
estoy usando ON DUPLICATE KEY UPDATE cuando inserto una fila,
Hasta aca venia perfecto , pero me encontre con un incoveniente y no se como solucionarlo
necesito hacer otro insert pero la llave primaria la tiene otro campo de la fila a la que neceito hacer un UPDATE
la pregunta es , como podria hacer para actualizar esa fila si un determinado registro en un determinado campo existe y si no existe hacer el INSERT
Saludos y muchas gracias!!!
  #2 (permalink)  
Antiguo 28/12/2011, 07:03
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Duda con ON DUPLICATE KEY UPDATE

SI el valor ya lo tienes en el momento de crear el UPDATE, simplemente haces el UPDATE condicionado en el WHERE. Supongo que eso lo sabes hacer.
Ahora bien, sin quieres enviar una sentencia tal que si existe, lo actualice, y si no exite lo inserte, para eso es REPLACE, que tiene la misma sintaxis del INSERT, pero hay algunas consideraciones:

- REPLACE reemplaza todo el registro, y no solo algunas columnas, lo que implica que para que funcione debes enviar todos los valores de los campos.

- Si reemplaza un registro, y no envías todos los datos, aquellas columnas con datos que no envíes serán llenadas con NULL, con lo que los datos existentes se perderán.

- REPLACE no genera warnings, por lo que no indicará si encontró o no algo ya existente. Simplemente lo remplazará.

¿Se entiende?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 28/12/2011, 07:22
 
Fecha de Ingreso: octubre-2010
Ubicación: Buenos Aires
Mensajes: 557
Antigüedad: 13 años, 6 meses
Puntos: 4
Respuesta: Duda con ON DUPLICATE KEY UPDATE

Se entendio PERFECTAMENTE
Gracias por salvarme nuevamente
Saludos!!!!
  #4 (permalink)  
Antiguo 28/12/2011, 07:29
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Duda con ON DUPLICATE KEY UPDATE

__________________
¿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 05:41.