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

Constraint en mysql

Estas en el tema de Constraint en mysql en el foro de Mysql en Foros del Web. Hola chicos,veran al intentar ejecutar la siguiente sentencia me da error... uso mysql. CREATE TABLE Empleados( DNI VARCHAR(10) CONSTRAINT ClaveEmpl PRIMARY KEY, Nombre VARCHAR(20), Edad ...
  #1 (permalink)  
Antiguo 23/04/2010, 00:59
 
Fecha de Ingreso: marzo-2010
Mensajes: 127
Antigüedad: 14 años
Puntos: 2
Constraint en mysql

Hola chicos,veran al intentar ejecutar la siguiente sentencia me da error...

uso mysql.

CREATE TABLE Empleados(
DNI VARCHAR(10) CONSTRAINT ClaveEmpl PRIMARY KEY,
Nombre VARCHAR(20),
Edad NUMBER(2,0)
);

porque es el error? la sentencia es de un libro de sql y lo escribi identicamente..

PROBE tmb con varias sentencias con constraint y siempre me peta..
Salu2.
  #2 (permalink)  
Antiguo 23/04/2010, 03:40
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Constraint en mysql

roser24,
no deseperes. Piensa que SQL es un lenguaje estándard, pero que los distintas DBMS usan a veces sintaxis específicas. Si vas a usar MySQL, mira un manual de MySQL. Por otra parte, debes comprobar que el motor permite hacer restricciones, es decir, que se trata de InnoDB y no MyIsam, etc. Estás usando un tipo de campo NUMBER que no existe tal cual, que yo sepa, en MySQL. Aquí existen DECIMAL, NUMERIC, pero para la edad no deberás usar eso, sino un campo con fecha de nacimiento para saber la edad actual a partir de esa fecha; se trataría de un campo calculado.
Mira aquí para empezar
http://dev.mysql.com/doc/refman/5.0/...nstraints.html
  #3 (permalink)  
Antiguo 23/04/2010, 07:51
 
Fecha de Ingreso: marzo-2010
Mensajes: 127
Antigüedad: 14 años
Puntos: 2
Respuesta: Constraint en mysql

Cita:
Iniciado por jurena Ver Mensaje
roser24,
no deseperes. Piensa que SQL es un lenguaje estándard, pero que los distintas DBMS usan a veces sintaxis específicas. Si vas a usar MySQL, mira un manual de MySQL. Por otra parte, debes comprobar que el motor permite hacer restricciones, es decir, que se trata de InnoDB y no MyIsam, etc. Estás usando un tipo de campo NUMBER que no existe tal cual, que yo sepa, en MySQL. Aquí existen DECIMAL, NUMERIC, pero para la edad no deberás usar eso, sino un campo con fecha de nacimiento para saber la edad actual a partir de esa fecha; se trataría de un campo calculado.
Mira aquí para empezar
http://dev.mysql.com/doc/refman/5.0/...nstraints.html

Hola Jurena,gracias por responder tan pronto,veras el motor es InnoDB y en si si pongo un help constraint me aparecen datos como que si lo admite me muestra una sintaxis que aunque la repita me da error,.. pero por lo que vi en el help como que lo toman solo en cuenta para foreng key.. y no como yo quieroo para crear restricciones ,indices,..
Por otra parte en si quisiera practicar tmb con SQL conoceis alguna pagina de la cual pueda descargarme alguna consola visual o a modo de comandos?..
Salu2..
  #4 (permalink)  
Antiguo 23/04/2010, 08:18
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, 4 meses
Puntos: 2658
Respuesta: Constraint en mysql

Podrías usar el MySQL Workbench.
Cita:
lo toman solo en cuenta para foreng key.. y no como yo quieroo para crear restricciones ,indices,..
¿Podrías explicar qué tipo de restricciones e índices quieres crear?
Si erres más claro es posible que te podamos guiar mejor...
__________________
¿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 23/04/2010, 15:27
 
Fecha de Ingreso: marzo-2010
Mensajes: 127
Antigüedad: 14 años
Puntos: 2
Respuesta: Constraint en mysql

Hola ,gracias por responder ,la verdad es que tendre un examen de sql,y por eso estaba practicando con mysql ya que es gratuito y quise practicar con la consola de comandos.. pero si no puedo ejecutar las sentencias con la misma estructura de SQL en mysql no me valdria para mi examen..
  #6 (permalink)  
Antiguo 23/04/2010, 18: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, 4 meses
Puntos: 2658
Respuesta: Constraint en mysql

Cita:
Iniciado por roser24 Ver Mensaje
Hola ,gracias por responder ,la verdad es que tendre un examen de sql,y por eso estaba practicando con mysql ya que es gratuito y quise practicar con la consola de comandos.. pero si no puedo ejecutar las sentencias con la misma estructura de SQL en mysql no me valdria para mi examen..
La consola de comandos la puedes usar perfectamente con MySQL, pero para eso tienes que haber instalado el paquete original desde la página oficial (el Community Server).
El tema es que después de instalarlo, hay que configurar la instancia para iniciar el servidor en forma automática, y allí te aparecerá en el menú de programas, en la carpeta MySQL el "MySQL Command Line Client".
La única salvedad es que es en modo texto...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 24/04/2010, 09:20
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Constraint en mysql

roser24,
lo mismo te he llevado a error. Naturalmente, podrás hacer prácticas de SQL con MysQL. Pero debes ser consciente de que entre las distintas bases de datos DBMS diferencias, incluso en la sintaxis de sus consultas SQL. Eso es lo que debes vigilar. El lenguaje SQL, como estándar que es, es el utilizado la mayor parte de ellas. Vigila pues la tipología de campos y comprueba los detalles sobre las diferencias. Y cuando observes algún error pregúntate si estás usando la sintaxis propia de la DBMS.

Etiquetas: constraint
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 09:42.