Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Eu estava projetando um bd quando me deparei com erro no 150, ja procurei bastante e nao encontrei solução.
Apelo para a experiencia de vocês colegas.
****
**[/b]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 `servicosocial` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
USE `servicosocial`;
-- -----------------------------------------------------
-- Table servicosocial.Instituicoes
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `servicosocial`.`Instituicoes` (
`NomeInstituicao` VARCHAR(255) NOT NULL ,
`SecretariaSetor` VARCHAR(255) NOT NULL ,
`NomeDiretor` VARCHAR(255) NOT NULL ,
`AnoDeCriacao` YEAR NOT NULL ,
`CNPJ` CHAR(18) NOT NULL ,
`Endereco` VARCHAR(255) NOT NULL ,
`Bairro` VARCHAR(255) NOT NULL ,
`Municipio` VARCHAR(255) NOT NULL ,
`CEP` CHAR(9) NOT NULL ,
`Telefone` CHAR(14) NOT NULL ,
`Fax` CHAR(14) NULL ,
`Email` VARCHAR(255) NULL ,
`NaturezaJuridica` CHAR(7) NOT NULL ,
`Finalidade` CHAR(19) NOT NULL ,
`Abrangencia` CHAR(9) NOT NULL ,
`Setor` CHAR(9) NOT NULL ,
`PublicoAlvo` CHAR(25) NOT NULL ,
`PoliticaSocial` CHAR(31) NOT NULL ,
PRIMARY KEY (`NomeInstituicao`, `SecretariaSetor`) )-- -----------------------------------------------------
-- Table servicosocial.ServicosSociais
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `servicosocial`.`ServicosSociais` (
`SetorUnidade` VARCHAR(255) NOT NULL ,
`NomeChefiaSetorUnidade` VARCHAR(255) NOT NULL ,
`Telefone` CHAR(14) NOT NULL ,
`Fax` CHAR(14) NULL ,
`Email` VARCHAR(255) NULL ,
`NumeroAssistentesSociais` SMALLINT NOT NULL ,
`ProgramasProjetos` TEXT NOT NULL ,
`Objetivos` TEXT NOT NULL ,
`Instituicoes_NomeInstituicao` VARCHAR(255) NOT NULL ,
`Instituicoes_SecretariaSetor` VARCHAR(255) NOT NULL ,
PRIMARY KEY (`SetorUnidade`, `NomeChefiaSetorUnidade`) ,
INDEX `fk_ServicosSociais_Instituicoes` (`Instituicoes_NomeInstituicao` ASC, `Instituicoes_SecretariaSetor` ASC) ,
CONSTRAINT `fk_ServicosSociais_Instituicoes`
FOREIGN KEY (`Instituicoes_NomeInstituicao` , `Instituicoes_SecretariaSetor` )
REFERENCES `servicosocial`.`Instituicoes` (`NomeInstituicao` , `SecretariaSetor` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)-- -----------------------------------------------------
-- Table servicosocial.Contas
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `servicosocial`.`Contas` (
`NomeUsuario` VARCHAR(45) NOT NULL ,
`Senha` VARCHAR(45) NOT NULL ,
`Categoria` VARCHAR(13) NOT NULL ,
`NomeCompleto` VARCHAR(255) NOT NULL ,
`Telefone` VARCHAR(14) NOT NULL ,
`Email` VARCHAR(45) NOT NULL ,
PRIMARY KEY (`NomeUsuario`) )-- -----------------------------------------------------
-- Table servicosocial.Estagiarios
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `servicosocial`.`Estagiarios` (
`NomeEstagiario` VARCHAR(255) NOT NULL ,
`ProgramaProjeto` VARCHAR(255) NOT NULL ,
`NivelEstagio` VARCHAR(255) NOT NULL ,
`AnoSemestre` CHAR(6) NOT NULL ,
`CHSemanal` TINYINT NOT NULL ,
`Remuneracao` DECIMAL(6,2) NOT NULL ,
`NomeSupervisor` VARCHAR(255) NOT NULL ,
`CressSupervisor` VARCHAR(5) NOT NULL ,
`ResumoAtividades` TEXT NOT NULL ,
`DiasHorariosEstagio` VARCHAR(45) NOT NULL ,
`Obrigatoriedade` CHAR(3) NOT NULL ,
`ServicosSociais_SetorUnidade` VARCHAR(255) NULL ,
`ServicosSociais_NomeChefiaSetorUnidade` VARCHAR(255) NULL ,
PRIMARY KEY (`NomeEstagiario`, `ProgramaProjeto`) ,
INDEX `fk_Estagiarios_ServicosSociais` (`ServicosSociais_SetorUnidade` ASC, `ServicosSociais_NomeChefiaSetorUnidade` ASC) ,
CONSTRAINT `fk_Estagiarios_ServicosSociais`
FOREIGN KEY (`ServicosSociais_SetorUnidade` , `ServicosSociais_NomeChefiaSetorUnidade` )
REFERENCES `servicosocial`.`ServicosSociais` (`SetorUnidade` , `NomeChefiaSetorUnidade` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)-- -----------------------------------------------------
-- Table servicosocial.Estagios
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `servicosocial`.`Estagios` (
`NomeInstituicao` VARCHAR(255) NOT NULL ,
`SecretariaSetor` VARCHAR(255) NOT NULL ,
`SetorUnidade` VARCHAR(255) NOT NULL ,
`ProgramaProjeto` VARCHAR(255) NOT NULL ,
`Periodicidade` VARCHAR(10) NOT NULL ,
`NumeroHoras` TINYINT NOT NULL ,
`Individual` BIT NOT NULL ,
`Grupal` BIT NOT NULL ,
`OutraSupervisao` BIT NOT NULL ,
`LeituraTexto` BIT NOT NULL ,
`Planejamento` BIT NOT NULL ,
`OutraPreparacao` BIT NOT NULL ,
`Dificuldades` TEXT NOT NULL ,
`PlanoEstagio` BIT NOT NULL ,
`Relatorios` BIT NOT NULL ,
`DiarioCampo` BIT NOT NULL ,
`IntervencaoInvest` BIT NOT NULL ,
`RelatorioSemanal` BIT NOT NULL ,
`OutraDocumentacao` BIT NOT NULL ,
`Demanda` TEXT NOT NULL ,
`Vantagens` TEXT NOT NULL ,
`Encaminhamentos` TEXT NOT NULL ,
PRIMARY KEY (`NomeInstituicao`, `SecretariaSetor`, `SetorUnidade`, `ProgramaProjeto`) ,
INDEX `fk_Estagios_Instituicoes` (`NomeInstituicao` ASC, `SecretariaSetor` ASC) ,
INDEX `fk_Estagios_ServicosSociais` (`SetorUnidade` ASC) ,
INDEX `fk_Estagios_Estagiarios` (`ProgramaProjeto` ASC) ,
CONSTRAINT `fk_Estagios_Instituicoes`
FOREIGN KEY (`NomeInstituicao` , `SecretariaSetor` )
REFERENCES `servicosocial`.`Instituicoes` (`NomeInstituicao` , `SecretariaSetor` )
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_Estagios_ServicosSociais`
FOREIGN KEY (`SetorUnidade` )
REFERENCES `servicosocial`.`ServicosSociais` (`SetorUnidade` )
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_Estagios_Estagiarios`
FOREIGN KEY (`ProgramaProjeto` )
REFERENCES `servicosocial`.`Estagiarios` (`ProgramaProjeto` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)-- -----------------------------------------------------
-- Table servicosocial.Visitas
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `servicosocial`.`Visitas` (
`NomeProfessor` VARCHAR(255) NOT NULL ,
`NomeAssistente` VARCHAR(255) NOT NULL ,
`Data` DATE NOT NULL ,
`Horario` TIME NOT NULL ,
`Objetivos` TEXT NOT NULL ,
`TopicosDiscutidos` TEXT NOT NULL ,
`Encaminhamentos` TEXT NOT NULL ,
`NovaVisita` CHAR(3) NOT NULL ,
`Estagios_NomeInstituicao` VARCHAR(255) NULL ,
`Estagios_SecretariaSetor` VARCHAR(255) NULL ,
`Estagios_SetorUnidade` VARCHAR(255) NULL ,
`Estagios_ProgramaProjeto` VARCHAR(255) NULL ,
PRIMARY KEY (`NomeProfessor`, `NomeAssistente`, `Data`, `Horario`) ,
INDEX `fk_Visitas_Estagios` (`Estagios_NomeInstituicao` ASC, `Estagios_SecretariaSetor` ASC, `Estagios_SetorUnidade` ASC, `Estagios_ProgramaProjeto` ASC) ,
CONSTRAINT `fk_Visitas_Estagios`
FOREIGN KEY (`Estagios_NomeInstituicao` , `Estagios_SecretariaSetor` , `Estagios_SetorUnidade` , `Estagios_ProgramaProjeto` )
REFERENCES `servicosocial`.`Estagios` (`NomeInstituicao` , `SecretariaSetor` , `SetorUnidade` , `ProgramaProjeto` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)COLLATE = latin1_swedish_ci;
SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;****
**[/b]
------------------------
LATEST FOREIGN KEY ERROR
------------------------
090130 19:44:19 Error in foreign key constraint of table servicosocial/estagios:
FOREIGN KEY (ProgramaProjeto )
REFERENCES servicosocial.Estagiarios (ProgramaProjeto )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1
COLLATE = latin1_swedish_ci:
Cannot find an index in the referenced table where the
referenced columns appear as the first columns, or column types
in the table and the referenced table do not match for constraint.
Note that the internal storage type of ENUM and SET changed in
tables created with >= InnoDB-4.1.12, and such columns in old tables
cannot be referenced by such columns in new tables.
See [url="[http://dev.mysql.com/doc/refman/5.1/en/innodb-foreign-key-constraints.html"]http://dev.mysql.com/doc/refman/5.1/en/inn...onstraints.html[/url]](http://dev.mysql.com/doc/refman/5.1/en/innodb-foreign-key-constraints.html)
for correct foreign key definition.
[b]**
****
O código foi gerado com o mysql workbench. A versão do meu mysql é 5.1.
Pode estar evidente, mas não consigo detectar o erro.
Alguem saberia me ajudar ?
Valeu
Carregando comentários...