Ver Mensaje Individual
  #4 (permalink)  
Antiguo 06/07/2013, 07:45
max_mouse699
 
Fecha de Ingreso: abril-2011
Mensajes: 66
Antigüedad: 13 años
Puntos: 7
Respuesta: Fallo en la query

Cita:
- No estoy completamente seguro de que estés usando correctamente el ENUM. Si una columna sólo puede tener dos estados, no tiene ningún sentido usar ENUM cuando podrías usar BIT, BOOL o incluso TINYINT. Pero eso es una decisión de diseño.
Es muy valido lo que aclara el usuario gnzsoloyo, pero en mi caso particular, he trabajado con ENUM, y te puedo asegurar que estas haciendo bien.

Lo que no me queda claro es como definiste, en la columna ENUM, las variables, porque segun tu post, dices que definiste como disponible y ocupado, pero cuando asignas la variable ENUM pones "ocupada":

Cita:
... contiene un campo id_mesa status de tipo ENUM con las opciones disponible y ocupado y otro campo ...
Código MySQL:
Ver original
  1. UPDATE FROM mesas SET status = 'ocupada' WHERE id_mesa = 'mesa_1';

Yo creo que tu problema se resulve con que simplemente, en ves de ocupada, digas ocupado, como lo tenes definido, y listo. O la otra opcion, es que para las columnas de tipo ENUM, puedes usar los indices de tu arreglo de opciones, es decir, puedes directamente asignar un 2 ara el estado de ocupado, y eso te dara la opcion que deseas, asi de esta manera:

Código MySQL:
Ver original
  1. UPDATE FROM mesas SET status = 2 WHERE id_mesa = 'mesa_1';

Recuerda que para los tipo de datos ENUM, puedes trabajar con las opciones que has declarado, pero tienes que menionar exactamente el texto, como realice la aclaracion mas arriba, o de lo contrario, trabajar con los indices, y considerar todas las opciones como un arreglo.

Espero te sirva.
Saludos.