Ver Mensaje Individual
  #1 (permalink)  
Antiguo 31/12/2008, 10:46
letni
 
Fecha de Ingreso: octubre-2008
Mensajes: 276
Antigüedad: 15 años, 6 meses
Puntos: 1
Insertar o modificar dependiendo de una condición

Me gustaría saber si se puede hacer esto.

Digamos que tengo una tabla Tabla1 con dos campos: Codigo y Cantidad y tengo los siguientes registros:

+--+--+
|1 |23|
|2 |12|
+--+--+


ahora sumo seis unidades a la cantidad del registro cuyo codigo es dos:

Código:
update Tabla1 set Cantidad = Cantidad + 6 where Codigo = 2;
+--+--+
|1 |23|
|2 |18|
+--+--+


pero si ese registro no existiera, por ejemplo:

+--+--+
|1 |23|
|3 |12|
+--+--+


y hago:

Código:
update Tabla1 set Cantidad = Cantidad + 6 where Codigo = 2;
me daría error. Lo que debería de hacer sería:

Código:
insert into Tabla1 values (2, 6);
Yo quiero generar una sentencia genérica que me sirva tanto si existe ese registro como si no. Algo así como:

Código:
si existe registro entonces
  update Tabla1 set Cantidad = Cantidad + 6 where Codigo = 2
sino
  insert into Tabla1 values (2, 6);
Quiero saber si todo esto se puede hacer bajo código MySQL sin crear funciones, simplemente quiero saber si hay alguna sentencia que tenga en cuenta todo esto.

¿Es posible?

Última edición por letni; 31/12/2008 a las 10:54