Ir para conteúdo
Fórum Script Brasil
  • 0

Inserir valor Chave esatrangeira


Leovip

Pergunta

Galera eu estou iniciando na área de banco de dados e estou tentando inserir um valor em uma chave estrangeira porém reporta o seguinte erro:

#1452 - Cannot add or update a child row: a foreign key constraint fails (`frete`.`frete`, CONSTRAINT `frete_ibfk_1` FOREIGN KEY (`Id_Empresa`) REFERENCES `empresa` (`Id_Empresa`))

Segue a tabela, genérica, que eu tento fazer a inserção:

CREATE TABLE Frete

(

Id_Frete INTEGER NOT NULL AUTO_INCREMENT,

Valor_Frete REAL NOT NULL,

Data_Frete DATE NOT NULL,

Id_Empresa INTEGER NOT NULL,

Situacao_Frete INTEGER NOT NULL,

Ajudante_Frete INTEGER NOT NULL,

PRIMARY KEY (Id_Frete),

FOREIGN KEY (Id_Empresa) REFERENCES Empresa(Id_Empresa)

);

CREATE TABLE Empresa

(

Id_Empresa INTEGER NOT NULL AUTO_INCREMENT,

Nome_Empresa VARCHAR (30) NOT NULL,

PRIMARY KEY (Id_Empresa)

);

CREATE TABLE COMBUSTIVEL

(

Id_Combustivel INTEGER NOT NULL AUTO_INCREMENT,

Quantidade_Combustivel REAL NOT NULL,

Data_Combustivel DATE NOT NULL,

Valor_Combustivel REAL NOT NULL,

PRIMARY KEY (Id_Combustivel)

);

E segue o comando:

insert into frete (Valor_Frete, Data_Frete, Id_Empresa, Situacao_Frete, Ajudante_Frete) values (200,1993/03/21, 3, 1, 1);

Obrigado !!!

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0
Galera eu estou iniciando na área de banco de dados e estou tentando inserir um valor em uma chave estrangeira porém reporta o seguinte erro:

#1452 - Cannot add or update a child row: a foreign key constraint fails (`frete`.`frete`, CONSTRAINT `frete_ibfk_1` FOREIGN KEY (`Id_Empresa`) REFERENCES `empresa` (`Id_Empresa`))

...

Oi 'Leovip',

Da mesma forma que você não pode ter filho sem pai, não há como ter frete sem empresa. Neste relacionamento, Empresa é tabela 'pai' e Frete é tabela 'filha'. Em todos os relacionamentos 1:N o lado um do relacionamento é sempre uma tabela 'pai' daquele relacionamento. Nos relacionamentos 1:1, um deles será o 'pai' e outro 'filho'. Relacionamentos N:M não existem no mundo físico dos bancos de dados (Neste caso há uma tabela intermediária que faz 1:N N:1).

Finalizando, cadastre uma empresa primeiro e depois você poderá cadastrar fretes para ela.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...