Error 1452 #1452 - Cannot add or update a child row: a foreign key constraint fails



   AUTOR PREGUNTA

Publicado 31 enero 2018 - 22:03

tengo una base de datos de 20 tablas y la exporte desde phpmyadmin ahora intento importarla igual desde phpmyadmin y me arroja esto  #1452 - Cannot add or update a child row: a foreign key constraint fails (`sapsi`.`#sql-fb4_24e`, CONSTRAINT `proy_linea_ibfk_1` FOREIGN KEY (`cod_proy`) REFERENCES `proyecto` (`cod_proy`) ON DELETE CASCADE ON UPDATE CASCADE)

 

les adjunto el msj que arroja phpmyadmin

 

y adjunto el archivo sql que intento inportar 

 

sapsi.sql.zip   10,61K   5 Descargas




10 personas más tuvieron esta duda Yo también

 

Publicado 01 febrero 2018 - 10:46

mmmm una opción es que cuando hagas una copia de seguridad de la BBDD en phpmyadmin deberías marcar la opción "Deshabilitar foreign key checks".

 

Quizá así te funcione.


 

Publicado 04 febrero 2018 - 14:40

¿Has verificado los derechos del usuario sobre esa bbdd?

   AUTOR PREGUNTA

Publicado 04 febrero 2018 - 23:09

mmmm una opción es que cuando hagas una copia de seguridad de la BBDD en phpmyadmin deberías marcar la opción "Deshabilitar foreign key checks".

 

Quizá así te funcione.

 

se puede pero desde el phpmyadmin necesito hacerlo desde php de modo que el administrador desde el lado del cliente pueda importar esa base de datos


   AUTOR PREGUNTA

Publicado 04 febrero 2018 - 23:10

¿Has verificado los derechos del usuario sobre esa bbdd?

a cual te refieres


 

Publicado 05 febrero 2018 - 14:41

@Raquel, el error puede producirse por varios motivos, uno de ellos es que el usuario que estás usando, no tenga derechos de escritura sobre la tabla específica, otro, que la relación de las tablas esté mal establecida, otro (el más probale) que la clave que usas para el control, no tenga correspondencia en la tabla. Me explico, si has establecido una correspondencia entre las tablas A y B basada en el campo "usuario", tanto en la tabla A, como la B debe haber un campo usuario y, además, tiene que haber un valor (por ejemplo "juanbb") en ambas tablas, para que puedas actualizar una u otra, basándose en ese campo.


 

Publicado 05 febrero 2018 - 14:51

@Raquel, el error puede producirse por varios motivos, uno de ellos es que el usuario que estás usando, no tenga derechos de escritura sobre la tabla específica, otro, que la relación de las tablas esté mal establecida, otro (el más probale) que la clave que usas para el control, no tenga correspondencia en la tabla. Me explico, si has establecido una correspondencia entre las tablas A y B basada en el campo "usuario", tanto en la tabla A, como la B debe haber un campo usuario y, además, tiene que haber un valor (por ejemplo "juanbb") en ambas tablas, para que puedas actualizar una u otra, basándose en ese campo.

 

Justo iba a comentar parecido (aunque no tan bien como haces tu HenryQR jeje) mira esto que dice HenryQR a ti Raquel


   AUTOR PREGUNTA

Publicado 06 febrero 2018 - 03:39

@Raquel, el error puede producirse por varios motivos, uno de ellos es que el usuario que estás usando, no tenga derechos de escritura sobre la tabla específica, otro, que la relación de las tablas esté mal establecida, otro (el más probale) que la clave que usas para el control, no tenga correspondencia en la tabla. Me explico, si has establecido una correspondencia entre las tablas A y B basada en el campo "usuario", tanto en la tabla A, como la B debe haber un campo usuario y, además, tiene que haber un valor (por ejemplo "juanbb") en ambas tablas, para que puedas actualizar una u otra, basándose en ese campo.

 

no tenia problema con los privilegios de usuario estan establecidos pero si el error me daba en lo ultimo que explicaste me puse a eliminar datos directamente en el phpmyadmin y tenia tablas con claves ajenas con datos ya eliminados por eso al importarlo me daba error en las relaciones lo que me sorprende es que declare las tablas con ondele cascada y update cascada y debio eliminarse los datos cuando elimine datos de la tabla principal