CASCADE
vil udbrede ændringen, når forælderen ændres. (Hvis du sletter en række, vil rækker i begrænsede tabeller, der refererer til denne række, også blive slettet osv.)
SET NULL
indstiller kolonneværdien til NULL, når en overordnet række forsvinder.
RESTRICT
forårsager, at forsøget på SLETT af en overordnet række mislykkes.
EDIT:Du spurgte ikke om dem, men SQL-standarden definerer to andre handlinger:SET DEFAULT
og NO ACTION
. I MySQL, NO ACTION
svarer til RESTRICT
. (I nogle DBMS'er, NO ACTION
er en udskudt kontrol, men i MySQL er alle kontroller øjeblikkelige.) MySQL-parseren accepterer SET DEFAULT
, men både InnoDB- og NDB-motorerne afviser disse udsagn, så SET DEFAULT
kan faktisk heller ikke bruges til en ON UPDATE
eller ON DELETE
begrænsning.
Bemærk også, at cascading udenlandske nøglehandlinger ikke aktiverer triggere i MySQL.