Gilbeto F. T Postado Fevereiro 17, 2009 Denunciar Share Postado Fevereiro 17, 2009 (editado) Olá,Estou tentando fazer integridade referencial no my 6.0 e dá erro #150. Segue as tabelasCREATE TABLE `tbdepto` ( `idDepto` int(11) NOT NULL AUTO_INCREMENT, `Depto` varchar(40) DEFAULT NULL, PRIMARY KEY (`idDepto`), UNIQUE KEY `idDepto` (`idDepto`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1; CREATE TABLE `tbfuncao` ( `idFuncao` int(11) NOT NULL AUTO_INCREMENT, `Funcao` varchar(40) DEFAULT NULL, `idDepto` int(11) NOT NULL, PRIMARY KEY (`idFuncao`), UNIQUE KEY `idFuncao` (`idFuncao`), KEY `idDepto` (`idDepto`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;Alguma dica ?????Obrigado. Editado Fevereiro 17, 2009 por Denis Courcy Melhorar Entendimento Link para o comentário Compartilhar em outros sites More sharing options...
0 Denis Courcy Postado Fevereiro 17, 2009 Denunciar Share Postado Fevereiro 17, 2009 Oi, 'Gilbeto F. T' Retire as instruções abaixo: UNIQUE KEY `idDepto` (`idDepto`) na tabela tbdeptoUNIQUE KEY `idFuncao` (`idFuncao`), na tabela tbfuncaoKEY `idDepto` (`idDepto`) na tabela tbfuncaoElas são redundantes.Inclua a seguinte instruçãoALTER TABLE `tbfuncao` ADD CONSTRAINT FK_tbfuncao_001 FOREIGN KEY (`idDepto`) REFERENCES `tbdepto`(`idDepto`) ON DELETE NO ACTION ON UPDATE NO ACTION; Link para o comentário Compartilhar em outros sites More sharing options...
0 Gilbeto F. T Postado Fevereiro 17, 2009 Autor Denunciar Share Postado Fevereiro 17, 2009 Olá,Agora o erro é:Can't create table 'dbrpe.#sql-cb0_7' (errno: 121)Obrigado. Link para o comentário Compartilhar em outros sites More sharing options...
0 Denis Courcy Postado Fevereiro 18, 2009 Denunciar Share Postado Fevereiro 18, 2009 Oi, 'Gilbeto F. T' !Este é o nome de sua tabela? 'dbrpe.#sql-cb0_7 Link para o comentário Compartilhar em outros sites More sharing options...
0 Gilbeto F. T Postado Fevereiro 19, 2009 Autor Denunciar Share Postado Fevereiro 19, 2009 Não.tbDepto e tbFuncaoEsse nome é ele que mostra na hora do erro.Obrigado. Link para o comentário Compartilhar em outros sites More sharing options...
0 Denis Courcy Postado Fevereiro 19, 2009 Denunciar Share Postado Fevereiro 19, 2009 Oi, 'Gilbeto F. T'Verifiquei o tipo de erro (121) e ele está relacionado com duplicidade de chave.experimente adicionar a linha DROP TABLE IF EXISTS antes da instrução CREATE TABLEVerifique, também se há duplicidade na chave que você está tentando inserir.O termo FK_tbfuncao_001 que coloquei é o nome do índice. ele deve ser único em todo o banco de dados. Por acaso você não está duplicando este nome? Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Gilbeto F. T
Olá,
Estou tentando fazer integridade referencial no my 6.0 e dá erro #150. Segue as tabelas
Alguma dica ?????
Obrigado.
Editado por Denis CourcyMelhorar Entendimento
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados