Ver Mensaje Individual
  #2 (permalink)  
Antiguo 23/05/2012, 12:55
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 4 meses
Puntos: 447
Respuesta: Error al crear tabla

Hola ziterea:

La sintaxis que estás poniendo corresponde a SQL Server, no a MySQL... no sé si te equivocaste de foro o efectivamente estás tratando de ejecutar el script en una BD de MySQL. Si es lo primero, deberás publicar tu pregunta directamente en el foro de SQL Server:

http://www.forosdelweb.com/f87/

Si es lo segundo, entonces tienes varios problemas que resolver, ya que la sintaxis no corresponde a MySQL... en primer lugar, el tipo de datos NUMBER no existe en mysql. Si tu objetivo es almacenar una hora deberías utilizar el tipo TIME:

http://dev.mysql.com/doc/refman/5.0/es/time.html

O en su defecto utilizar alguno de los tipos de datos numéricos que soporta MySQL:

http://dev.mysql.com/doc/refman/5.0/...umn-types.html

Para definir una llave primaria compuesta, no hay necesidad de colocar la palabra CONSTRAINT... basta con poner algo como esto:

La referencia que pones debes declararla como una FOREIGN KEY:

http://dev.mysql.com/doc/refman/5.0/...nstraints.html

En cuanto al CONSTRAINT que estás construyendo MySQL no soporta este tipo de restricciones, sin embargo pose un tipo de datos llamado ENUM que sirve justamente para limitar los valores que puede tomar una columna determinada.

http://dev.mysql.com/doc/refman/5.0/es/enum.html

De tal manera que la sintaxis válida en MySQL para crear una tabla como la que quieres sería más o menos así:

Código:
CREATE TABLE atentado(
  fecha DATE NOT NULL,
  hora TIME NOT NULL,
  estadoActual ENUM('Resuelto','En Investigación','Cerrado'),
  PRIMARY KEY (`fecha`, `hora`),
  FOREIGN KEY (nombre)
     REFERENCES Grupo_Sospechoso(nombre)
     ON UPDATE CASCADE ON DELETE RESTRICT
);
Saludos
Leo.