- Buenas a tod@s, creo que mi inquietud va en esta seccion del foro si no es asi disculpen, bueno en mi clase de programacion web me han asignado crear un CRUD con una BD ya previamente estructurada por el Profesor, ya cree en si todo lo que seria las vista para el usuario (el modulo en el cual el usuario ve la información de la BD, en otras palabras los Select) y bueno decidi seguir con el DELETE, ahora bien yo lo ejecuto de la siguiente forma:
- Y esa sentencia me funciona perfecto, pero al trata de ejecutar esta otra:
Cita: Editado: Código de programación no permitido en foros de Base de Datos. Leer las reglas del foro, por favor.
- Pues no sucede absolutamente nada, al imprimir un var_dump de esa sentencia me devuelve lo siguiente:
string(99) "DELETE FROM testaciones WHERE DescripEstacion='BAMARIS' AND CodEstacion='AM10' AND CodRegion='REAM'"
- Compruebo campo por campo a punta de ojo en la BD y no veo nada raro entonces intente aplicar la sentencia directamente desde el Phpmyadmin en la parte donde dice SQL ejecute:
Código SQL:
Ver originalDELETE FROM testaciones WHERE DescripEstacion='BAMARIS' AND CodEstacion='AM10' AND CodRegion='REAM'
- Y me da el siguiente error:
#1451 - Cannot delete or update a parent row: a foreign key constraint fails (`mttoaero`.`tequiposseriales`, CONSTRAINT `FK_TEquiposSeriales_TUbicacion` FOREIGN KEY (`CodRegion`, `CodEstacion`, `CodUbic`) REFERENCES `tubicacion` (`CodRegion`, `CodEstacion`, `CodUbic`) O).
- Investigando un poco pues creo que la razon del error se debe a una restricción de clave foranea dado que la PK tabla donde estoy tratando de hacer la operación DELETE está siendo usada en otra tabla como FK, y lo que estoy intentando hacer está afectando una PK que está en un registro de la segunda tabla y eso produce una violación de integridad referencial. Menudo problema para MI ya que por poco repruebo BD así que no se como resolver este problema.
- Sin embargo creo que a mi entender tengo que no solo eliminar el registro de
testaciones si no tambien en
tequiposseriales y tubicacion donde las FK esten afectando.
-
Ok, ahora pregunto, ¿ Si es correcto lo que pienso como es posible realizar ese DELETE?, porque en mi ignorancia intente hacer esto:
Código SQL:
Ver originalDELETE FROM testaciones, tequiposseriales, tubicacion WHERE AND CodEstacion='AM10' AND CodRegion='REAM'
- Y no resulto, o la solucion es otra??. Saludos...