Leovip Posted October 10, 2011 Report Share Posted October 10, 2011 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 !!! Quote Link to comment Share on other sites More sharing options...
0 Denis Courcy Posted October 11, 2011 Report Share Posted October 11, 2011 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. Quote Link to comment Share on other sites More sharing options...
Question
Leovip
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
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.