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

ayuda con eliminacion logica

Estas en el tema de ayuda con eliminacion logica en el foro de Mysql en Foros del Web. hola a todos en un tabla usuario tengo un campo de tipo ENUM llamado estatus este campo maneja 2 valores 'i' de inactivo y 'a' ...
  #1 (permalink)  
Antiguo 02/11/2010, 15:44
 
Fecha de Ingreso: mayo-2009
Mensajes: 131
Antigüedad: 14 años, 10 meses
Puntos: 0
ayuda con eliminacion logica

hola a todos en un tabla usuario tengo un campo de tipo ENUM llamado estatus este campo maneja 2 valores 'i' de inactivo y 'a' de activo en mi pagina como administrador yo quiero eliminar un usuario de forma logica es decir si el usuario esta activo 'a' y yo lo paso a inactivo presionando un boton el no deberia iniciar sesion solo ver la pagina como visitante pero pasa lo siguiente yo tengo esta consulta:

Código:
UPDATE feder.usuario SET  estatus = 'a' WHERE (usuario.id)='%s'"
si lo dejo de esa manera estatus = 'a' todo usuario que yo quiera eliminar lo va a pasar a ('a' Activo) y si coloco 'i' todos me los va a pasar a ('i' inactivo) que tengo que colocar en estatus = 'xxxx' para que no pase lo que les estoy diciendo. Gracias y espero que me entiendan lo que quize decir :)
  #2 (permalink)  
Antiguo 02/11/2010, 16:24
Avatar de kalvinman  
Fecha de Ingreso: octubre-2006
Ubicación: Bogota Colombia
Mensajes: 849
Antigüedad: 17 años, 6 meses
Puntos: 22
Respuesta: ayuda con eliminacion logica

No entendi muy bien lo que quieres pero tengo una teoria.

Creo que tu problema es por la definición del id de usuario que esta alterando mas de un valor.

que tal si intentas con
Código SQL:
Ver original
  1. UPDATE usuario SET  estatus = 'a' WHERE id = '%s'
y por si acaso hacer una comprobación de que tu variable 'id' realmente exista. xD
  #3 (permalink)  
Antiguo 02/11/2010, 17:11
 
Fecha de Ingreso: mayo-2009
Mensajes: 131
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: ayuda con eliminacion logica

amigo tu consulta me funciono perfecto pero mi problema es con el estatus = 'a' si yo tengo un usuario activo y ejecuto la sentencia me lo va a seguir dejando activo por que el estatus sigue siendo = 'a' yo quiero crear una sentencia para que un usuario que este activo me lo pase a inactivo y uno que este como inactivo me lo pase a activo.
  #4 (permalink)  
Antiguo 02/11/2010, 17:20
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, 5 meses
Puntos: 2658
Respuesta: ayuda con eliminacion logica

En esencia la sentencia es exactamente la misma, y lo único que necesitas es razonarla y usar funciones lógicas. La solución es de cajón, si sólo tienes dos alternativas:
Código MySQL:
Ver original
  1. UPDATE usuario SET  estatus =  IF(estatus =  'a', 'i', 'a')  WHERE id = '%s';
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 02/11/2010, 17:33
 
Fecha de Ingreso: mayo-2009
Mensajes: 131
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: ayuda con eliminacion logica

Muchisimas gracias hermano me funciono ya tengo lo que queria.

Etiquetas: eliminacion, logica
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 16:56.