CASCADE kommer att sprida förändringen när föräldern ändras. (Om du tar bort en rad kommer rader i begränsade tabeller som refererar till den raden också att tas bort, etc.)
SET NULL ställer in kolumnvärdet till NULL när en överordnad rad försvinner.
RESTRICT gör att försöket att radera en överordnad rad misslyckas.
EDIT:Du frågade inte om dem, men SQL-standarden definierar två andra åtgärder:SET DEFAULT och NO ACTION . I MySQL, NO ACTION motsvarar RESTRICT . (I vissa DBMS, NO ACTION är en uppskjuten kontroll, men i MySQL är alla kontroller omedelbara.) MySQL-parsern accepterar SET DEFAULT , men både InnoDB- och NDB-motorerna avvisar dessa påståenden, så SET DEFAULT kan faktiskt inte användas för antingen en ON UPDATE eller ON DELETE begränsning.
Observera också att kaskadande främmande nyckelåtgärder inte aktiverar utlösare i MySQL.