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

Check

Estas en el tema de Check en el foro de Mysql en Foros del Web. MySQL 5.0 Hola a todos De acuerdo a la documentación oficial, la instrucción CHECK no se ejecuta para verificar la validez de los datos ingresados ...
  #1 (permalink)  
Antiguo 16/01/2010, 19:04
 
Fecha de Ingreso: diciembre-2004
Mensajes: 48
Antigüedad: 19 años, 4 meses
Puntos: 0
Check

MySQL 5.0

Hola a todos

De acuerdo a la documentación oficial, la instrucción CHECK no se ejecuta para verificar la validez de los datos ingresados y qué se acepta como palabra reservada por cuestiones de compatibilidad con otros programas que utilizan SQL.

Si es así, ¿cómo se puede establecer en la definición de tablas, la validación de los datos a ingresar? Por ejemplo, ¿cómo hacer para verificar que un campo Edad acepte sólo valores entre 18 y 35 años?

Desde ya Muchísimas Gracias

--
CG
  #2 (permalink)  
Antiguo 16/01/2010, 19:19
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: Check

Cita:
Si es así, ¿cómo se puede establecer en la definición de tablas, la validación de los datos a ingresar? Por ejemplo, ¿cómo hacer para verificar que un campo Edad acepte sólo valores entre 18 y 35 años?
Validaciones de ese tipo se deben hacer en la aplicación, no en la base. La base de datos, de poder hacerlo, te devolvería solamente un error.
¿Para qué dejar llegar el problema a la base, si lo puedes solucionar antes?

Si lo intentas en un TRIGGER , no podrás detener la inserción porque un TRIGGER no puede generar un error inexistente. Y si lo haces desde un SP, te evitará la inserción, pero el problema subsistirá: El dato seguirá siendo erróneo.

Valida los datos en la aplicación. Es menos problemático.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: Ninguno
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 13:49.