Erro com FK's
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á!!
Discussão (3)
Carregando comentários...