Jump to content
Fórum Script Brasil
  • 0

Inserir valor Chave esatrangeira


Leovip

Question

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 to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...