Ver Mensaje Individual
  #2 (permalink)  
Antiguo 03/08/2008, 12:55
jurena
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Duda con update

Cita:
Iniciado por DooBie Ver Mensaje
buenas compañeros, tengo una duda, es posible hacer un update de una misma tabla, pero que haga "dos cosas diferentes"?
me explico mejor con un ejemplo:
tengo la tabla 'categorias' y quiero poner el campo 'especial' a 0 en todas las categorias menos en una, pero en esa que dejo sin cambiarlo, debo ponerlo a 1

es muy facil hacerlo con dos updates:

UPDATE categorias SET especial=0;
UPDATE categorias SET especial=1 WHERE id=2;

pero, se podria hacer en una sola consulta?
es simple curiosidad solamente :p


gracias!
con esto:
UPDATE categorias SET especial = IF (id=2, 1,0)

Para dos soluciones distintas puedes usar IF; para más tendrás que usar CASE... Por ejemplo,

UPDATE categorias SET especial = CASE id WHEN 2 THEN 1 WHEN 1 THEN 5 ELSE 8 END

Última edición por jurena; 04/08/2008 a las 02:38