Hola, estoy haciendo una base de datos y me da ERROR: Error 1005: Can't create table 'club_hipico.profesores' (errno: 150). La base de datos en cuestión os la pongo aquí debajo. Os agradecería que me ayudarais a ver el error, porque he intentado de todo y no soy capaz de verlo, y me está desquiciando esta base de datos jajaja según el error está en la tabla "profesores", pero es que no lo encuentro jajaja. Gracias de antemano.
La base de datos:
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL';
CREATE SCHEMA IF NOT EXISTS `club_hipico` ;
USE `club_hipico` ;
-- -----------------------------------------------------
-- Table `club_hipico`.`Sexo_caballo`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `club_hipico`.`Sexo_caballo` (
`idSexo_caballo` INT NOT NULL AUTO_INCREMENT ,
`Sexo` CHAR NOT NULL ,
PRIMARY KEY (`idSexo_caballo`) )
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `club_hipico`.`Propietarios`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `club_hipico`.`Propietarios` (
`idPropietarios` INT NOT NULL AUTO_INCREMENT ,
`Nombre` VARCHAR(15) NOT NULL ,
`Primer_apellido` VARCHAR(15) NOT NULL ,
`Segundo_apellido` VARCHAR(15) NULL ,
`DNI` CHAR(9) NOT NULL ,
`Domicilio` VARCHAR(30) NOT NULL ,
`Portal` CHAR(4) NULL ,
`Piso` CHAR(4) NULL ,
`Telefono` CHAR(9) NOT NULL ,
PRIMARY KEY (`idPropietarios`, `Nombre`, `DNI`) ,
UNIQUE INDEX `DNI_UNIQUE` (`DNI` ASC) )
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `club_hipico`.`Hora_alumno`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `club_hipico`.`Hora_alumno` (
`idHora_alumno` INT NOT NULL AUTO_INCREMENT ,
`Precio_hora` DECIMAL(10,2) NOT NULL ,
PRIMARY KEY (`idHora_alumno`, `Precio_hora`) )
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `club_hipico`.`Salarios`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `club_hipico`.`Salarios` (
`idSalarios` INT NOT NULL AUTO_INCREMENT ,
`Empleo` VARCHAR(15) NOT NULL ,
`Precio_hora` DECIMAL(10,2) NOT NULL ,
PRIMARY KEY (`idSalarios`, `Precio_hora`) )
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `club_hipico`.`Tipo_sangre`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `club_hipico`.`Tipo_sangre` (
`idTipo_sangre` INT NOT NULL AUTO_INCREMENT ,
`Tipo` VARCHAR(15) NOT NULL ,
PRIMARY KEY (`idTipo_sangre`, `Tipo`) )
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `club_hipico`.`Profesores`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `club_hipico`.`Profesores` (
`idProfesores` INT NOT NULL AUTO_INCREMENT ,
`Nombre` CHAR(15) NOT NULL ,
`Primer_apellido` VARCHAR(15) NOT NULL ,
`Segundo_apellido` VARCHAR(15) NULL ,
`DNI` CHAR(9) NOT NULL ,
`Domicilio` VARCHAR(30) NULL ,
`Horario` VARCHAR(45) NOT NULL ,
`Cobra_por_hora` DECIMAL(10,2) NOT NULL ,
PRIMARY KEY (`idProfesores`, `Nombre`, `DNI`, `Cobra_por_hora`) ,
INDEX `Cobra_por_hora` (`Cobra_por_hora` ASC) ,
CONSTRAINT `Cobra_por_hora`
FOREIGN KEY (`Cobra_por_hora` )
REFERENCES `club_hipico`.`Salarios` (`Precio_hora` )
ON DELETE CASCADE
ON UPDATE CASCADE)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `club_hipico`.`Cuidadores`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `club_hipico`.`Cuidadores` (
`idCuidadores` INT NOT NULL AUTO_INCREMENT ,
`Nombre` VARCHAR(45) NOT NULL ,
`Primer_apellido` VARCHAR(45) NOT NULL ,
`Segundo_apellido` VARCHAR(45) NULL ,
`DNI` CHAR(9) NOT NULL ,
`Horario` VARCHAR(45) NOT NULL ,
`Cobra_por_hora` DECIMAL(10,2) NOT NULL ,
PRIMARY KEY (`idCuidadores`, `Cobra_por_hora`, `Nombre`) ,
UNIQUE INDEX `DNI_UNIQUE` (`DNI` ASC) ,
CONSTRAINT `Cobra_por_hora`
FOREIGN KEY (`Cobra_por_hora` )
REFERENCES `club_hipico`.`Salarios` (`Precio_hora` )
ON DELETE CASCADE
ON UPDATE CASCADE)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `club_hipico`.`Alumnos`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `club_hipico`.`Alumnos` (
`idAlumnos` INT NOT NULL AUTO_INCREMENT ,
`Nombre` VARCHAR(15) NOT NULL ,
`Primer_apellido` VARCHAR(15) NOT NULL ,
`Edad` CHAR(4) NULL ,
`DNI` CHAR(9) NOT NULL ,
`Domicilio` VARCHAR(30) NULL ,
`Portal` CHAR(2) NULL ,
`Piso` CHAR(1) NULL ,
`Profesor` CHAR(15) NOT NULL ,
`Paga_por_hora` DECIMAL(10,2) NOT NULL ,
PRIMARY KEY (`idAlumnos`, `Profesor`, `Paga_por_hora`) ,
UNIQUE INDEX `DNI_UNIQUE` (`DNI` ASC) ,
INDEX `Paga_por_hora` (`Paga_por_hora` ASC) ,
INDEX `Profesor` (`Profesor` ASC) ,
CONSTRAINT `Paga_por_hora`
FOREIGN KEY (`Paga_por_hora` )
REFERENCES `club_hipico`.`Hora_alumno` (`Precio_hora` )
ON DELETE CASCADE
ON UPDATE CASCADE,
CONSTRAINT `Profesor`
FOREIGN KEY (`Profesor` )
REFERENCES `club_hipico`.`Profesores` (`Nombre` )
ON DELETE CASCADE
ON UPDATE CASCADE)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `club_hipico`.`Cuadras_caballos`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `club_hipico`.`Cuadras_caballos` (
`idCuadras_caballos` INT NOT NULL ,
`Numero` CHAR(2) NOT NULL ,
`Cuidador_asociado` VARCHAR(15) NOT NULL ,
PRIMARY KEY (`idCuadras_caballos`, `Cuidador_asociado`, `Numero`),
INDEX `Cuidador_asociado` (`Cuidador_asociado` ASC) ,
CONSTRAINT `Cuidador_asociado`
FOREIGN KEY (`Cuidador_asociado` )
REFERENCES `club_hipico`.`Cuidadores` (`Nombre` )
ON DELETE CASCADE
ON UPDATE CASCADE)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `club_hipico`.`Caballos`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `club_hipico`.`Caballos` (
`idCaballos` INT NOT NULL AUTO_INCREMENT ,
`Nombre` VARCHAR(15) NOT NULL ,
`Edad` CHAR(2) NOT NULL ,
`Sexo` CHAR NOT NULL ,
`Purasangre` TINYINT(1) NOT NULL ,
`Sangre` VARCHAR(15) NOT NULL ,
`Cuadra` CHAR(2) NOT NULL ,
`Propietario` VARCHAR(15) NOT NULL ,
`Fecha_entrada` DATE NULL ,
`Profesor_asociado` VARCHAR(25) NOT NULL ,
PRIMARY KEY (`idCaballos`, `Sangre`, `Cuadra`, `Propietario`, `Profesor_asociado`) ,
INDEX `Sangre` (`Sangre` ASC) ,
INDEX `Cuadra` (`Cuadra` ASC) ,
INDEX `Profesor_asociado` (`Profesor_asociado` ASC) ,
INDEX `Propietario` (`Propietario` ASC) ,
CONSTRAINT `Sangre`
FOREIGN KEY (`Sangre` )
REFERENCES `club_hipico`.`Tipo_sangre` (`Tipo` )
ON DELETE CASCADE
ON UPDATE CASCADE,
CONSTRAINT `Cuadra` FOREIGN KEY (`Cuadra` )
REFERENCES `club_hipico`.`Cuadras_caballos` (`Numero` )
ON DELETE CASCADE
ON UPDATE CASCADE,
CONSTRAINT `Profesor_asociado`
FOREIGN KEY (`Profesor_asociado` )
REFERENCES `club_hipico`.`Profesores` (`Nombre` )
ON DELETE CASCADE
ON UPDATE CASCADE,
CONSTRAINT `Propietario`
FOREIGN KEY (`Propietario` )
REFERENCES `club_hipico`.`Propietarios` (`Nombre` )
ON DELETE CASCADE
ON UPDATE CASCADE)
ENGINE = InnoDB;
SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
Publicado:
Lun May 21, 2012 2:22 pm
alonsojpd Administrador/Moderador
Registrado: Sep 16, 2003 Mensajes: 2687
Asunto: Re: Informe de error mysql workbench
Anuncios
Échale un vistazo a estos dos post del foro, ahí te dan varias posibles causas y su solución:
Puede publicar nuevos temas en este foro No puede responder a temas en este foro No puede editar sus mensajes en este foro No puede borrar sus mensajes en este foro No puede votar en encuestas en este foro
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A