problema con delete multiple
Publicado por Alejandro (172 intervenciones) el 29/04/2020 12:03:52
hola buenos dias,
os comento, quiero hacer un borrado general de los datos de todas las tablas, tengo una base de datos MYSQL con una tabla padre y trece tablas hijas con una foreign key al id de la tabla padre, restriccion de borrado en cascada.
Tengo una tabla hija que tiene otra foreign key a otra tabla hija. Entonces lo que hago en PHP es borrar primero el registro de las hijas segun su FK porque sino MYSQL no me deja borrar directamente el registro en la tabla padre ya que tengo una dependencia entre dos tablas hijas.
Tengo el siguiente codigo que no funciona, me lleva al else directamente:
No se si esta mal como lo he planteado, borro todas las hijas y al final elimino la tabla padre "datos_personales".
Espero que me ayudeis, saludos
os comento, quiero hacer un borrado general de los datos de todas las tablas, tengo una base de datos MYSQL con una tabla padre y trece tablas hijas con una foreign key al id de la tabla padre, restriccion de borrado en cascada.
Tengo una tabla hija que tiene otra foreign key a otra tabla hija. Entonces lo que hago en PHP es borrar primero el registro de las hijas segun su FK porque sino MYSQL no me deja borrar directamente el registro en la tabla padre ya que tengo una dependencia entre dos tablas hijas.
Tengo el siguiente codigo que no funciona, me lleva al else directamente:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
<?php
session_start();
include("conexion.php");
$id = $_GET['id_personal'];
$borrar = (isset($_POST['borrar']))?$_POST['borrar']:"";
if($borrar){
$consulta = "DELETE FROM areas WHERE codigo_persona_area=".$id;
$resultado = mysqli_query($GLOBALS['conn'],$consulta);
$consulta2 = "DELETE FROM coordinacion WHERE codigo_persona_coordinacion=".$id;
$resultado2 = mysqli_query($GLOBALS['conn'],$consulta2);
$consulta3 = "DELETE FROM ayuda_economica WHERE codigo_persona_ayuda=".$id;
$resultado3 = mysqli_query($GLOBALS['conn'],$consulta3);
$consulta4 = "DELETE FROM carne_profesionalidad WHERE codigo_persona_carne=".$id;
$resultado4 = mysqli_query($GLOBALS['conn'],$consulta4);
$consulta5 = "DELETE FROM certificados_profesionalidad WHERE codigo_persona_certificados=".$id;
$resultado5 = mysqli_query($GLOBALS['conn'],$consulta5);
$consulta6 = "DELETE FROM conocimientos_informaticos WHERE codigo_persona_informatica=".$id;
$resultado6 = mysqli_query($GLOBALS['conn'],$consulta6);
$consulta7 = "DELETE FROM discapacidad WHERE codigo_persona_discapacidad=".$id;
$resultado7 = mysqli_query($GLOBALS['conn'],$consulta7);
$consulta8 = "DELETE FROM disponibilidad_geografica WHERE codigo_persona_dispGeo=".$id;
$resultado8 = mysqli_query($GLOBALS['conn'],$consulta8);
$consulta9 = "DELETE FROM disponibilidad_horaria WHERE codigo_persona_dispHora=".$id;
$resultado9 = mysqli_query($GLOBALS['conn'],$consulta9);
$consulta10 = "DELETE FROM experiencia_profesional WHERE codigo_persona_exp=".$id;
$resultado10 = mysqli_query($GLOBALS['conn'],$consulta10);
$consulta11 = "DELETE FROM formacion_academica_empleo WHERE codigo_persona_form=".$id;
$resultado11 = mysqli_query($GLOBALS['conn'],$consulta11);
$consulta12 = "DELETE FROM permiso_conducir WHERE codigo_persona_conducir=".$id;
$resultado12 = mysqli_query($GLOBALS['conn'],$consulta12);
$consulta13 = "DELETE FROM prestacion WHERE codigo_persona_prestacion=".$id;
$resultado13 = mysqli_query($GLOBALS['conn'],$consulta13);
$consulta14 = "DELETE FROM datos_personales WHERE id_personal=".$id;
$resultado14 = mysqli_query($GLOBALS['conn'],$consulta14);
echo "Persona borrada del sistema</br>";
}else{
echo "No se han borrado los datos</br>";
}
echo "<a href='listar_usuarios.php'>Volver</a>";
//header('Location: empleo.php?id_personal="'.$id.'"');
cerrarBD();
?>
No se si esta mal como lo he planteado, borro todas las hijas y al final elimino la tabla padre "datos_personales".
Espero que me ayudeis, saludos
Valora esta pregunta


0