sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo eliminar automáticamente todas las filas de referencia si la fila principal se elimina en mysql?

Puedes hacerlo con ON DELETE CASCADE .

ALTER TABLE childTable
  ADD CONSTRAINT `FK_key` FOREIGN KEY (`childColumnName`) 
  REFERENCES parentTable(`parentColumnName`) ON UPDATE CASCADE ON DELETE CASCADE

O

Crear AFTER DELETE TRIGGER en tabla principal . Agregue consultas DELETE de tablas secundarias.

DELIMITER $$

CREATE
    TRIGGER `tn_aur_department_master` AFTER DELETE ON `tn_parentTable` 
    FOR EACH ROW BEGIN
        DELETE FROM childTable WHERE parentId = old.parentId;
    END;
$$

DELIMITER ;