Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como excluir automaticamente todas as linhas de referência se a linha pai for excluída no mysql?


Você pode fazer com ON DELETE CASCADE .
ALTER TABLE childTable
  ADD CONSTRAINT `FK_key` FOREIGN KEY (`childColumnName`) 
  REFERENCES parentTable(`parentColumnName`) ON UPDATE CASCADE ON DELETE CASCADE

OU

Criar AFTER DELETE TRIGGER na tabela pai . Adicione consultas DELETE de tabelas filhas.
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 ;