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

[MySQL] Insertar si no existe o actualizar si existe en la misma consulta

Estas en el tema de [MySQL] Insertar si no existe o actualizar si existe en la misma consulta en el foro de Bases de Datos General en Foros del Web. La cuestión es esta, tengo una tabla con una serie de registros que o bien se pueden actualizar, o si no existen se tienen que ...
  #1 (permalink)  
Antiguo 30/10/2004, 04:32
Avatar de ferny
Il capo della mafia
 
Fecha de Ingreso: febrero-2002
Ubicación: Al final del cable
Mensajes: 10.080
Antigüedad: 22 años, 2 meses
Puntos: 55
[MySQL] Insertar si no existe o actualizar si existe en la misma consulta

La cuestión es esta, tengo una tabla con una serie de registros que o bien se pueden actualizar, o si no existen se tienen que crear. Me gustaria saber si con una sóla consulta a la BD se puede actualizar el registro si ya existe, o crearlo si no existe.

Con dos consultas sí sé hacerlo, una para comprobar si existe o no, si existe hacer un update y si no existe un insert, pero no sé si es posible en la misma consulta. El tema es por optimizar la carga del servidor.

Un saludo
__________________
www.mundodivx.com || www.mundodivx.org

Pon tu mano en un horno caliente durante un minuto y te parecerá una hora.
Siéntate junto a una chica preciosa durante una hora y te parecerá un minuto.
Eso es la relatividad.
  #2 (permalink)  
Antiguo 02/11/2004, 06:19
 
Fecha de Ingreso: septiembre-2004
Mensajes: 35
Antigüedad: 19 años, 7 meses
Puntos: 0
Sql tiene update para actualizar un registro existente e insert para meter uno nuevo. Ya me gustaría que tuviera un modify o similar, pero no, el procedimiento es como tu dices: comprobar si existe, si sí: update, si no: insert.
  #3 (permalink)  
Antiguo 02/11/2004, 06:47
Avatar de ferny
Il capo della mafia
 
Fecha de Ingreso: febrero-2002
Ubicación: Al final del cable
Mensajes: 10.080
Antigüedad: 22 años, 2 meses
Puntos: 55
Gracias, entonces tendré que hacerlo con dos consultas
Un saludo
__________________
www.mundodivx.com || www.mundodivx.org

Pon tu mano en un horno caliente durante un minuto y te parecerá una hora.
Siéntate junto a una chica preciosa durante una hora y te parecerá un minuto.
Eso es la relatividad.
  #4 (permalink)  
Antiguo 04/11/2010, 14:08
 
Fecha de Ingreso: noviembre-2010
Mensajes: 1
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: [MySQL] Insertar si no existe o actualizar si existe en la misma consulta

Estuve mirando en la web de mysql y vi esto:

INSERT INTO table (a,b,c) VALUES (1,2,3)
ON DUPLICATE KEY UPDATE c=c+1;

fijate si te sirve. Yo estoy buscando optimizar las consultas para un sitio a futuro q hará 5M de consultas y necesito lo más optimo de consultas e inserciones... si vos ves algo mejor no olvides de postear...
esta es mi primera y vez, y de ahora en adelante voy a postear siempre

Saludos
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 04:03.