errno 150

1. errno 150

Caio
caio1989

(usa Ubuntu)

Enviado em 28/12/2013 - 15:25h

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 `controleacademico` DEFAULT CHARACTER SET utf8 ;
USE `controleacademico` ;

-- -----------------------------------------------------
-- Table `controleacademico`.`turma`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `controleacademico`.`turma` ;

CREATE TABLE IF NOT EXISTS `controleacademico`.`turma` (
`idTurma` INT(11) NOT NULL AUTO_INCREMENT ,
`nomeTurma` VARCHAR(45) NULL DEFAULT NULL ,
`turno` VARCHAR(45) NULL DEFAULT NULL ,
`ano` INT(11) NULL DEFAULT NULL ,
PRIMARY KEY (`idTurma`) )
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;


-- -----------------------------------------------------
-- Table `controleacademico`.`aluno`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `controleacademico`.`aluno` ;

CREATE TABLE IF NOT EXISTS `controleacademico`.`aluno` (
`idAluno` INT(11) NOT NULL AUTO_INCREMENT ,
`nomeAluno` VARCHAR(45) NOT NULL ,
`turma_idTurma` INT(11) NOT NULL ,
PRIMARY KEY (`idAluno`, `nomeAluno`) ,
INDEX `fk_aluno_turma1_idx` (`turma_idTurma` ASC) ,
CONSTRAINT `fk_aluno_turma1`
FOREIGN KEY (`turma_idTurma` )
REFERENCES `controleacademico`.`turma` (`idTurma` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;


-- -----------------------------------------------------
-- Table `controleacademico`.`disciplinas`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `controleacademico`.`disciplinas` ;

CREATE TABLE IF NOT EXISTS `controleacademico`.`disciplinas` (
`idDisciplinas` INT(11) NOT NULL AUTO_INCREMENT ,
`nomeMaterias` VARCHAR(45) NULL DEFAULT NULL ,
`nota 1` FLOAT NULL DEFAULT NULL ,
`nota 2` FLOAT NULL DEFAULT NULL ,
`nota 3` FLOAT NULL DEFAULT NULL ,
`nota 4` FLOAT NULL DEFAULT NULL ,
`nota 5` FLOAT NULL DEFAULT NULL ,
`nota 6` FLOAT NULL DEFAULT NULL ,
`nota 7` FLOAT NULL DEFAULT NULL ,
PRIMARY KEY (`idDisciplinas`) )
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;


-- -----------------------------------------------------
-- Table `controleacademico`.`endereço`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `controleacademico`.`endereço` ;

CREATE TABLE IF NOT EXISTS `controleacademico`.`endereço` (
`idEnd` INT(11) NOT NULL AUTO_INCREMENT ,
`rua` VARCHAR(45) NULL DEFAULT NULL ,
`casa` INT(11) NULL DEFAULT NULL ,
`telefone` VARCHAR(15) NULL DEFAULT NULL ,
`bairro` VARCHAR(45) NULL DEFAULT NULL ,
`cidade` VARCHAR(45) NULL DEFAULT NULL ,
`estado` VARCHAR(45) NULL DEFAULT NULL ,
`complemento` VARCHAR(45) NULL ,
PRIMARY KEY (`idEnd`) )
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;


-- -----------------------------------------------------
-- Table `controleacademico`.`professor`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `controleacademico`.`professor` ;

CREATE TABLE IF NOT EXISTS `controleacademico`.`professor` (
`idProfessor` INT(11) NOT NULL AUTO_INCREMENT ,
`nomeProfessor` VARCHAR(45) NOT NULL ,
`disciplinas_idDisciplinas` INT(11) NOT NULL ,
PRIMARY KEY (`idProfessor`, `disciplinas_idDisciplinas`) ,
INDEX `fk_professor_disciplinas1_idx` (`disciplinas_idDisciplinas` ASC) ,
CONSTRAINT `fk_professor_disciplinas1`
FOREIGN KEY (`disciplinas_idDisciplinas` )
REFERENCES `controleacademico`.`disciplinas` (`idDisciplinas` )
ON DELETE SET NULL
ON UPDATE NO ACTION)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;


-- -----------------------------------------------------
-- Table `controleacademico`.`turmasDoProfessor`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `controleacademico`.`turmasDoProfessor` ;

CREATE TABLE IF NOT EXISTS `controleacademico`.`turmasDoProfessor` (
`professor_idProfessor` INT(11) NOT NULL ,
`turma_idTurma` INT(11) NOT NULL ,
PRIMARY KEY (`professor_idProfessor`, `turma_idTurma`) ,
INDEX `fk_professor_has_turma_turma1_idx` (`turma_idTurma` ASC) ,
INDEX `fk_professor_has_turma_professor1_idx` (`professor_idProfessor` ASC) ,
CONSTRAINT `fk_professor_has_turma_professor1`
FOREIGN KEY (`professor_idProfessor` )
REFERENCES `controleacademico`.`professor` (`idProfessor` )
ON DELETE NO ACTION
ON UPDATE CASCADE,
CONSTRAINT `fk_professor_has_turma_turma1`
FOREIGN KEY (`turma_idTurma` )
REFERENCES `controleacademico`.`turma` (`idTurma` )
ON DELETE NO ACTION
ON UPDATE CASCADE)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;


-- -----------------------------------------------------
-- Table `controleacademico`.`professorEndereço`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `controleacademico`.`professorEndereço` ;

CREATE TABLE IF NOT EXISTS `controleacademico`.`professorEndereço` (
`professorEnd_idProfessor` INT(11) NOT NULL ,
`endereço_idEnd` INT(11) NOT NULL ,
PRIMARY KEY (`professorEnd_idProfessor`, `endereço_idEnd`) ,
INDEX `fk_professor_has_endereço_endereço1` (`endereço_idEnd` ASC) ,
INDEX `fk_professor_has_endereço_professor1` (`professorEnd_idProfessor` ASC) ,
CONSTRAINT `fk_professor_has_endereço_professor1`
FOREIGN KEY (`professorEnd_idProfessor` )
REFERENCES `controleacademico`.`professor` (`idProfessor` )
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_professor_has_endereço_endereço1`
FOREIGN KEY (`endereço_idEnd` )
REFERENCES `controleacademico`.`endereço` (`idEnd` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;


-- -----------------------------------------------------
-- Table `controleacademico`.`alunoDisciplinas`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `controleacademico`.`alunoDisciplinas` ;

CREATE TABLE IF NOT EXISTS `controleacademico`.`alunoDisciplinas` (
`aluno_idAluno` INT(11) NOT NULL ,
`disciplinas_idDisciplinas` INT(11) NOT NULL ,
PRIMARY KEY (`aluno_idAluno`, `disciplinas_idDisciplinas`) ,
INDEX `fk_aluno_has_disciplinas_disciplinas1` (`disciplinas_idDisciplinas` ASC) ,
INDEX `fk_aluno_has_disciplinas_aluno1` (`aluno_idAluno` ASC) ,
CONSTRAINT `fk_aluno_has_disciplinas_aluno1`
FOREIGN KEY (`aluno_idAluno` )
REFERENCES `controleacademico`.`aluno` (`idAluno` )
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_aluno_has_disciplinas_disciplinas1`
FOREIGN KEY (`disciplinas_idDisciplinas` )
REFERENCES `controleacademico`.`disciplinas` (`idDisciplinas` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;


-- -----------------------------------------------------
-- Table `controleacademico`.`alunoEndereço`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `controleacademico`.`alunoEndereço` ;

CREATE TABLE IF NOT EXISTS `controleacademico`.`alunoEndereço` (
`aluno_idAluno` INT(11) NOT NULL ,
`aluno_nomeAluno` VARCHAR(45) NOT NULL ,
`endereço_idEnd` INT(11) NOT NULL ,
PRIMARY KEY (`aluno_idAluno`, `aluno_nomeAluno`, `endereço_idEnd`) ,
INDEX `fk_aluno_has_endereço_endereço1` (`endereço_idEnd` ASC) ,
INDEX `fk_aluno_has_endereço_aluno1` (`aluno_idAluno` ASC, `aluno_nomeAluno` ASC) ,
CONSTRAINT `fk_aluno_has_endereço_aluno1`
FOREIGN KEY (`aluno_idAluno` , `aluno_nomeAluno` )
REFERENCES `controleacademico`.`aluno` (`idAluno` , `nomeAluno` )
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_aluno_has_endereço_endereço1`
FOREIGN KEY (`endereço_idEnd` )
REFERENCES `controleacademico`.`endereço` (`idEnd` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;



SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;

ta dando o seguinte erro:

Executing SQL script in server
ERROR: Error 1005: Can't create table 'controleacademico.aluno' (errno: 150)


CREATE TABLE IF NOT EXISTS `controleacademico`.`aluno` (
`idAluno` INT(11) NOT NULL AUTO_INCREMENT ,
`nomeAluno` VARCHAR(45) NOT NULL ,
`turma_idTurma` INT(11) NOT NULL ,
PRIMARY KEY (`idAluno`, `nomeAluno`) ,
INDEX `fk_aluno_turma1_idx` (`turma_idTurma` ASC) ,
CONSTRAINT `fk_aluno_turma1`
FOREIGN KEY (`turma_idTurma` )
REFERENCES `controleacademico`.`turma` (`idTurma` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8

SQL script execution finished: statements: 8 succeeded, 1 failed

EU NÃO SEI O QUE FAZER, POR FAVOR PEÇO AJUDA...


  


2. Re: errno 150

Airton Lastori
alastori

(usa Outra)

Enviado em 03/01/2014 - 13:34h

Parece que o problema é o nome da constraint fk_aluno_turma1 está duplicado. Tente mudar para fk_aluno_turma2 ou algo parecido.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts