• Sábado 21 de Diciembre de 2024, 10:58

Autor Tema:  Ayuda Mysql O Sql  (Leído 1301 veces)

d0Pe

  • Nuevo Miembro
  • *
  • Mensajes: 13
    • Ver Perfil
Ayuda Mysql O Sql
« en: Domingo 8 de Julio de 2007, 21:46 »
0
hola que tal a todos oigan quisiera preguntarles como le puedo hacer para que mediante sql se pueda escoger o una u otra opcion, que esa en esa tupla de la tabla solo me acepte dos opciones algo asi como esto


SEXO char(1) CHECK (SEXO in ('F', 'M'))

en la tupla de sexo solo me acepta o F o M

la duda que tengo es como le puedo hacer cuando son de diferentes longitudes las opciones que tengo

TIPOCONTRATO char(?) CHECK (TIPOCONTRATO in ('CONTRATO', 'PLANTA')) esto es lo que necesito tener en la base de datos que en el tipo de contrato o sea contrato o sea planta

pero como se le puede hacer eso???

F_Tanori

  • Moderador
  • ******
  • Mensajes: 1919
  • Nacionalidad: mx
    • Ver Perfil
Re: Ayuda Mysql O Sql
« Respuesta #1 en: Lunes 9 de Julio de 2007, 13:19 »
0
Pues segun sé, MySQL aun no toma en cuenta la instrucción CHECK (si existe pero MySQL la ignora  <_< )

Hay una manera en que puedes crear campos, donde solo puedas insertar los que estan en la lista de posibles valores
por ejemplo:

<!--sql--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>SQL </td></tr><tr><td id='CODE'><!--sql1-->CREATE TABLE tabla (
  TIPOCONTRATO  ENUM('CONTRATO', 'PLANTA')
); <!--sql2--></td></tr></table><div class='postcolor'><!--sql3-->

aunque de esta manera , no te permite insertar en ese campo otro valor que no esté en la lista, no impide que se inserte el registro

Otra solucion seria un Trigger (disparador) o un Procedimiento Almacenado ambos soportados por MySQL apartir de la versión 5


o Validar a través de un lenguaje de programación

Saludos
" ExIsTo y A vEcEs PiEnSo "

NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================