Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

CrazyLOL

Erro com FK's

Recommended Posts

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.