Gilberto Jr 26 Denunciar post Postado Março 10, 2017 Bom dia Pessoal; Eu tenho duas tabelas, e estou tentando criar uma FOREIGN KEY. Só que esta aprensentando esse erro abaixo. --------------------------- Error --------------------------- SQL execution error # 1452. Response from the database: Cannot add or update a child row: a foreign key constraint fails (`tecnogalli2`.<result 2 when explaining filename '#sql-339d_8886843'>, CONSTRAINT `#sql-339d_8886843_ibfk_1` FOREIGN KEY (`idpecapedido`) REFERENCES `tec_pecapedido` (`Id`) ON DELETE CASCADE O) --------------------------- OK --------------------------- Alguém poderia me ajudar? Att; Gilberto Jr Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Março 10, 2017 Verifique se os campos são de mesmo tipo e tamanho. Compartilhar este post Link para o post Compartilhar em outros sites
Gilberto Jr 26 Denunciar post Postado Março 10, 2017 2 horas atrás, Alaerte Gabriel disse: Verifique se os campos são de mesmo tipo e tamanho. as dua colunas são tipo int(11) e também tentei fazer com outras duas colunas, e elas são to tipo varchar(20) Att; Gilberto Jr Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Março 10, 2017 Ao tentar criar a FK o banco tenta validar a mesma , alguma "fk" não existe na "pk" criada Citar Cannot add or update a child row: a foreign key constraint fails (`tecnogalli2`.<result 2 when explaining filename '#sql-339d_8886843'>, CONSTRAINT `#sql-339d_8886843_ibfk_1` FOREIGN KEY (`idpecapedido`) REFERENCES `tec_pecapedido` (`Id`) ON DELETE CASCADE O) faça um sql deste tipo (troque a tabela da fk) select * from <tabela> where not exists (select null from tec_pecapedido where tec_pecapedido.tec_pecapedido = <tabela>.tec_pecapedido Compartilhar este post Link para o post Compartilhar em outros sites
Gilberto Jr 26 Denunciar post Postado Março 10, 2017 8 minutos atrás, Motta disse: select * from <tabela> where not exists (select null from tec_pecapedido where tec_pecapedido.tec_pecapedido = <tabela>.tec_pecapedido Fiz da seguinte forma, select * from tec_pecacompleto where not exists (select null from tec_pecapedido where tec_pecapedido.tec_pecapedido = tec_pecacompleto.tec_pecapedido onde a tabela tec_pecapedido é tabela pai e tabela tec_pecacompleto é a tabela filha. ai ocorreu o seguinte erro. --------------------------- Error --------------------------- SQL execution error # 1064. Response from the database: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 --------------------------- OK --------------------------- Att; Gilberto Jr Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Março 10, 2017 select * from tec_pecacompleto where not exists (select null from tec_pecapedido where tec_pecapedido.tec_pecapedido = tec_pecacompleto.tec_pecapedido ) Compartilhar este post Link para o post Compartilhar em outros sites
Gilberto Jr 26 Denunciar post Postado Março 13, 2017 Em 10/03/2017 at 19:31, Motta disse: select * from tec_pecacompleto where not exists (select null from tec_pecapedido where tec_pecapedido.id= tec_pecacompleto.idpecapedido ) Deu certo. Pelo select verifiquei os ID's que estava na tabela tec_pecacompleto.idpecapedido não existia tec_pecapedido.id. Então eu apaguei essas linhas e criei a FOREIGN KEY novamente. Att; Gilberto Jr Compartilhar este post Link para o post Compartilhar em outros sites