CrazyLOL 2 Denunciar post Postado Setembro 12, 2016 Galera estou usando o Toad Data Modeler para criar a minha estrutura, ate ai ok, porém estou com um problema que ta complicado ja. Aparece a mensagem abaixo quando tento inserir os itens de um documento da tabela "abastec_documento_item" Erro Cannot add or update a child row: a foreign key constraint fails [....] Pelo erro sei que é algo com minhas FK porém eu já deleitei e refiz as tabelas envolvidas do zero, porém continua aparecendo esta mensagem, consigo salvar um registro, após isto já não salva mais. Estou colocando abaixo o meu arquivo SQL que o toad está gerando: /* Created: 12-09-2016 Modified: 12-09-2016 Model: RE MySQL 5.5 Database: MySQL 5.5 */ -- Create tables section ------------------------------------------------- -- Table abastec_documento CREATE TABLE `abastec_documento` ( `cod_empresa` Int NOT NULL, `cod_empresa_filial` Int NOT NULL, `cod_centro_custo` Int NOT NULL, `cod_documento_tipo` Int NOT NULL, `cod_documento` Int(11) NOT NULL AUTO_INCREMENT, `cod_aux_documento` Int(11) NOT NULL, `ano_ref` Int(11), `atividade` Int(11), `empenho` Int(11), `ativo` Enum('S','N'), `data_cadastro` Date, `cod_fornecedor` Int NOT NULL, UNIQUE `cod_documento` (`cod_documento`) ) ; ALTER TABLE `abastec_documento` ADD PRIMARY KEY (`cod_empresa`,`cod_empresa_filial`,`cod_centro_custo`,`cod_documento_tipo`,`cod_fornecedor`,`cod_documento`) ; -- Table abastec_documento_item CREATE TABLE `abastec_documento_item` ( `cod_empresa` Int NOT NULL, `cod_empresa_filial` Int NOT NULL, `cod_centro_custo` Int NOT NULL, `cod_documento_tipo` Int NOT NULL, `cod_combustivel` Smallint(5) NOT NULL, `cod_documento_item` Int(11) NOT NULL AUTO_INCREMENT, `qtde` Float(10,2), `qtde_distribuido` Float(10,2), `valor_litro` Float(10,3), `valor_atual` Float(10,3), `data_cadastro` Datetime, `data_atualizacao` Datetime, `cod_tipo_cobranca` Char(1), `cod_fornecedor` Int NOT NULL, `cod_documento` Int(11) NOT NULL, UNIQUE `cod_documento_item` (`cod_documento_item`) ) ; CREATE INDEX `IX_Relationship9` ON `abastec_documento_item` (`cod_tipo_cobranca`) ; ALTER TABLE `abastec_documento_item` ADD PRIMARY KEY (`cod_empresa`,`cod_empresa_filial`,`cod_centro_custo`,`cod_documento_tipo`,`cod_combustivel`,`cod_documento_item`,`cod_fornecedor`,`cod_documento`) ; -- Table abastec_distribuicao CREATE TABLE `abastec_distribuicao` ( `cod_empresa` Int NOT NULL, `cod_empresa_filial` Int NOT NULL, `cod_centro_custo` Int NOT NULL, `cod_documento_tipo` Int NOT NULL, `cod_combustivel` Smallint(5) NOT NULL, `cod_documento_item` Int(11) NOT NULL, `cod_fornecedor` Int NOT NULL, `cod_documento` Int(11) NOT NULL, `cod_distribuicao` Int(11) NOT NULL AUTO_INCREMENT, `cod_veiculo` Int(11), `cod_deposito` Int(11), `tipo_distribuicao` Enum('D','V'), `qtde` Float(10,2), `qtde_abastecido` Float(10,2), `qtde_ultima` Float(10,2), `ativo` Enum('S','N'), `data_cadastro` Datetime, `data_atualizacao` Datetime, PRIMARY KEY (`cod_distribuicao`) ) ; CREATE INDEX `IX_Relationship15` ON `abastec_distribuicao` (`cod_empresa`,`cod_empresa_filial`,`cod_centro_custo`,`cod_documento_tipo`,`cod_combustivel`,`cod_documento_item`,`cod_fornecedor`,`cod_documento`) ; -- Create relationships section ------------------------------------------------- ALTER TABLE `abastec_documento_item` ADD CONSTRAINT `Relationship7` FOREIGN KEY (`cod_empresa`, `cod_empresa_filial`, `cod_centro_custo`, `cod_documento_tipo`, `cod_fornecedor`, `cod_documento`) REFERENCES `abastec_documento` (`cod_empresa`, `cod_empresa_filial`, `cod_centro_custo`, `cod_documento_tipo`, `cod_fornecedor`, `cod_documento`) ON DELETE RESTRICT ON UPDATE CASCADE ; ALTER TABLE `abastec_distribuicao` ADD CONSTRAINT `Relationship15` FOREIGN KEY (`cod_empresa`, `cod_empresa_filial`, `cod_centro_custo`, `cod_documento_tipo`, `cod_combustivel`, `cod_documento_item`, `cod_fornecedor`, `cod_documento`) REFERENCES `abastec_documento_item` (`cod_empresa`, `cod_empresa_filial`, `cod_centro_custo`, `cod_documento_tipo`, `cod_combustivel`, `cod_documento_item`, `cod_fornecedor`, `cod_documento`) ON DELETE RESTRICT ON UPDATE RESTRICT ; Agradeço ajuda antecipadamente já!! Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Setembro 12, 2016 Uma destas três falhou ALTER TABLE `abastec_documento_item` ADD CONSTRAINT `Relationship7` FOREIGN KEY (`cod_empresa`, `cod_empresa_filial`, `cod_centro_custo`, ` cod_documento_tipo`, `cod_fornecedor`, `cod_documento`) REFERENCES `abastec_documento` (`cod_empresa`, `cod_empresa_filial`, `cod_centro_custo`, `cod_documento_tipo`, `cod_fornecedor`, `cod_documento`) ON DELETE RESTRICT ON UPDATE CASCADE ; ALTER TABLE `abastec_documento_item` ADD CONSTRAINT `Relationship8` FOREIGN KEY (`cod_combustivel`) REFERENCES `combustivel` (`cod_combustivel`) ON DELETE RESTRICT ON UPDATE RESTRICT ; ALTER TABLE `abastec_documento_item` ADD CONSTRAINT `Relationship9` FOREIGN KEY (`cod_tipo_cobranca`) REFERENCES `abastec_documento_cobranca` (`cod_tipo_cobranca`) ON DELETE RESTRICT ON UPDATE RESTRICT Compartilhar este post Link para o post Compartilhar em outros sites
CrazyLOL 2 Denunciar post Postado Setembro 12, 2016 Deve ser as ultimas 2 a tabela Combustível e Abaste_documento_cobranca, eu não coloquei, arrumei o tópico principal. Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Setembro 13, 2016 É simples , alguma FK falhou Compartilhar este post Link para o post Compartilhar em outros sites