Saltar al contenido

Mysql: eliminar filas en dos tablas con claves externas

Solución:

Por favor intente esto, espero que le ayude.

DELETE FROM departure, departure_time
USING departure
INNER JOIN departure_time
WHERE departure_date="2016-09-30"
      AND departure_time.id = departure.id

O

DELETE FROM departure, departure_time
USING departure
INNER JOIN departure_time
WHERE departure_date="2016-09-30"
      AND departure_time.departure_id = departure.id

O puedes usar ON DELETE CASCADE que funcionará automáticamente para usted.

En MySQL, también puede eliminar de varias tablas en una declaración:

delete d, dt
    from departure d join
         departure_time dt
         on d.id = dt.departure_id
    where departure_date="2016-09-30";

Otra solución es declarar la relación de clave externa como on delete cascade. Luego, cuando elimine la fila en la tabla original, la base de datos eliminará los registros relacionados en la segunda tabla.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *