Ver Mensaje Individual
  #3 (permalink)  
Antiguo 19/12/2015, 10:54
ilos28
 
Fecha de Ingreso: noviembre-2015
Ubicación: Las Palmas (Canarias)
Mensajes: 14
Antigüedad: 8 años, 11 meses
Puntos: 0
Respuesta: Restringir valores

Cita:
Iniciado por gnzsoloyo Ver Mensaje
En MySQL no puedes usar TRIGGERS para suplir la falta de CHECK.. Restricciones de ese tipo solo pyeden simularse parcialmente usando la clausula SIGNAL para crear errores funcionales personalizados. Pero sería hacer fallar la inserción o actualización, y no corregirlo.
Puede que Te sirvan para asignar valores límite., pero tienes que tener en cuenta que todas las demás restricciones de la tabla se disparan antes que el trigger.
Te recomiendo empezar leyendo el manual de referencia antes que nada.
Entonces para esta función se podría usar "set" como tipo de datos.
Es decir, modificar la tabla pero cambiando la columna turno a un dato tipo "set" y poniendo las tres únicas opciones.
De esta forma:
Código SQL:
Ver original
  1. ALTER TABLE camareros
  2. MODIFY turno SET('mañana','tarde','noche') NOT NULL;

No lo recuerdo bien, pero creo que el "set" sirve para que solo sean posibles los valores dados y que si se añade otro valor además de esos se rechaza.

Última edición por gnzsoloyo; 19/12/2015 a las 11:19