Foros del Web » Programando para Internet » PHP »

eliminar un mismo registro en diferentes tablas

Estas en el tema de eliminar un mismo registro en diferentes tablas en el foro de PHP en Foros del Web. Saludos Amigos Deseo ayuda para lo siguiente: tengo una tabla "organizacion" y en ella existe el cod_org, las demas tablas (ntablas) tienen un campo con ...
  #1 (permalink)  
Antiguo 19/12/2012, 16:38
Avatar de El Cipote  
Fecha de Ingreso: febrero-2006
Mensajes: 213
Antigüedad: 18 años, 2 meses
Puntos: 2
Exclamación eliminar un mismo registro en diferentes tablas

Saludos Amigos
Deseo ayuda para lo siguiente:
tengo una tabla "organizacion" y en ella existe el cod_org, las demas tablas (ntablas) tienen un campo con el mismo nombre. Y deseo que al eliminar la organizacion en la tabla "organizacion" por medio del cod_org en las demas tablas se eliminen todos los registros con el mismo cod_org... Espero su ayuda
__________________
Para alcanzar el éxito se requiere de tres cosas: Voluntad, Valor y Decisión.
  #2 (permalink)  
Antiguo 19/12/2012, 16:51
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
Respuesta: eliminar un mismo registro en diferentes tablas

Pues hasta donde tengo entendido, no hay una función que te elimine la información de otras tablas, cuando existe la relación de "llave foranea". Esto lo vas a tener que realizar tú tabla por tabla

Saludos.
  #3 (permalink)  
Antiguo 19/12/2012, 17:05
Avatar de jandrogdz  
Fecha de Ingreso: julio-2012
Ubicación: public $Guadalajara
Mensajes: 397
Antigüedad: 11 años, 9 meses
Puntos: 12
Pregunta Respuesta: eliminar un mismo registro en diferentes tablas

Me parece que puedes utilizar un disparador para elimnar los registros que tengan relacion a ese codigo
__________________
Lo imposible solo cuesta un poco mas
  #4 (permalink)  
Antiguo 19/12/2012, 17:39
Avatar de El Cipote  
Fecha de Ingreso: febrero-2006
Mensajes: 213
Antigüedad: 18 años, 2 meses
Puntos: 2
Respuesta: eliminar un mismo registro en diferentes tablas

gracias por la info...
Seria algo asi el codigo php para eliminarlos????
Código PHP:
<?php
include ("scripts/fconectar.php");
$conexionconectarse();
if(isset(
$_POST['eliminar']) && $_POST['eliminar'] == 'Eliminar'){
$id_eliminar $_POST['id'];
$sqlEliminar mysql_query("DELETE FROM organizacion WHERE id_org = '$id_eliminar'"$conexion); // esta sentencia si elimina en la tabla organizacion
//esta bien este codigo que sigue???
$Eliminar mysql_query("DELETE FROM tabla2, tabla3, tabla4, tabla5, tablan WHERE id_org = '$id_eliminar'"$conexion)
or die(
mysql_error());
// enviamos un mensage de exito
$mensaje =  "El registro a sido eliminado";
$msg="<a href=\"buscarorg.php\"> Click aqui para regresar</a>";
                    echo 
"<br> \n";
                    echo 
"<br>";
                    echo 
"<br>";
                    echo 
"<br>";
                    echo 
"<div align='center'><img src='img/check.png'></div>";
                    echo 
"<p style='text-align:center'>".$mensaje."</p>";
                    echo 
"<p style='text-align:center'>".$msg."</p>";
                    exit;
}
elseif(isset(
$_GET['id'])){
$id $_GET['id'];
$sql mysql_query("SELECT * FROM organizacion
WHERE id_org = '$id'"
$conexion)
or die(
mysql_error());
$row mysql_fetch_array($sql);
// advertimos
$mensaje ="En caso que elimine la organización se borrarán todos los demás registros relacionados con ella";
$mens="¿Esta seguro que quiere eliminar?";
}
// mostramos el mensage
                    
echo "<br> \n";
                    echo 
"<br>";
                    echo 
"<br>";
                    echo 
"<br>";
                    echo 
"<div align='center'><img src='img/alerta1.png'></div>";
                    echo 
"<p style='text-align:center'>".$mensaje."</p>";
                    echo 
"<p style='text-align:center'>".$mens."</p>";
?>
__________________
Para alcanzar el éxito se requiere de tres cosas: Voluntad, Valor y Decisión.
  #5 (permalink)  
Antiguo 19/12/2012, 18:34
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: eliminar un mismo registro en diferentes tablas

Cita:
Iniciado por mauled Ver Mensaje
Pues hasta donde tengo entendido, no hay una función que te elimine la información de otras tablas, cuando existe la relación de "llave foranea". Esto lo vas a tener que realizar tú tabla por tabla

Saludos.
Si la las tablas tienen una relación de FK donde se indicó ON DELETE CASCADE, al borrar la tabla origen de la FK, el registro de la tabla donde ese valor es FK se borra también.
Eso lo puedes leer en cualquier manual de SQL básico.

Existen ciertas limitaciones:
1) Sólo es funcional en motores de tablas que posean la restricción de FK (En MySQL, las tablas MyISAM no sirven).
2) El registro de la tabla dependiente no debe ser a su vez FK en otra tabla, a menos que en esa tabla la FK también esté definido el ON DELETE CASCADE para el caso.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #6 (permalink)  
Antiguo 20/12/2012, 09:58
Avatar de El Cipote  
Fecha de Ingreso: febrero-2006
Mensajes: 213
Antigüedad: 18 años, 2 meses
Puntos: 2
Respuesta: eliminar un mismo registro en diferentes tablas

y ke me dicen del codigo ke he puesto.... cual es el error?
__________________
Para alcanzar el éxito se requiere de tres cosas: Voluntad, Valor y Decisión.

Etiquetas: registro, tablas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:41.