Ver Mensaje Individual
  #12 (permalink)  
Antiguo 27/06/2013, 14:05
gise7
 
Fecha de Ingreso: abril-2013
Mensajes: 29
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: query para eliminar en varias tablas

Cita:
Iniciado por gnzsoloyo Ver Mensaje
No es tan simple.
Lo que te estoy diciendo es que borres primero aquellas tablas donde las FK apunten a la tabla base, y recién entonces borres las base. Es decir que Falla y EstadoDispositivo deben borrarse primero, y recién entonces puedes borrar dispositivo.

De lo contrario, sólo puedes borrarlas en cascada si defines el ON DELETE CASCADE en esas tablas.
Algo como esto?

Código PHP:
public function eliminarDispositivoAdmin($id_respuesta) {
        
$conexion $this->abrirConexion();
        
$consumibleEliminado false;
        
$sentencia "DELETE  b,c FROM  falla AS b JOIN estadoDispositivo AS c
            ON b.id_respuesta=c.id_respuesta  
            WHERE a.id_respuesta = '" 
mysql_real_escape_string($id_respuesta) . "'";
        
$resultado $this->ejecutarConsulta($sentencia$conexion);
     
        
$sentencia "DELETE  FROM dispositivos
              
            WHERE id_respuesta = '" 
mysql_real_escape_string($id_respuesta) . "'";
        
$resultado $this->ejecutarConsulta($sentencia$conexion);
        
        
        if (!
$resultado) {
            
$cerror "Ocurrió un error al acceder a la base de datos.<br>";
            
$cerror .= "SQL: $sentencia <br>";
            
$cerror .= "Descripción: " mysql_error($conexion);
            die(
$cerror);
        } else {
            if (
mysql_affected_rows($conexion) >= 1)
                
$consumibleEliminado true;
        }
        
$this->cerrarConexion($conexion);
        return 
$consumibleEliminado;
    }