sql >> Database teknologi >  >> RDS >> Mysql

Hvordan sletter man automatisk alle referencerækker, hvis den overordnede række bliver slettet i mysql?

Du kan gøre det med ON SLET CASCADE .

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

ELLER

Opret AFTER DELETE TRIGGERoverordnet tabel . Tilføj DELETE-forespørgsler fra underordnede tabeller.

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 ;



  1. MySQL-eksport til outfil:CSV-undslippende tegn

  2. Hvordan bruger man usignerede int/lange typer med Entity Framework?

  3. MYSQL - Vælg kun hvis rækken i LEFT JOIN ikke er til stede

  4. Hvordan sletter man fra udvalg i MySQL?