CASCADE
rozpropaguje zmianę, gdy zmieni się rodzic. (Jeśli usuniesz wiersz, wiersze w ograniczonych tabelach, które odwołują się do tego wiersza, również zostaną usunięte itp.)
SET NULL
ustawia wartość kolumny na NULL, gdy wiersz nadrzędny znika.
RESTRICT
powoduje niepowodzenie próby usunięcia wiersza nadrzędnego.
EDYCJA:Nie pytałeś o nie, ale standard SQL definiuje dwie inne akcje:SET DEFAULT
i NO ACTION
. W MySQL:NO ACTION
jest odpowiednikiem RESTRICT
. (W niektórych DBMS, NO ACTION
jest odroczonym testem, ale w MySQL wszystkie kontrole są natychmiastowe.) Parser MySQL akceptuje SET DEFAULT
, ale zarówno silniki InnoDB, jak i NDB odrzucają te instrukcje, więc SET DEFAULT
nie może być użyty w przypadku ON UPDATE
lub ON DELETE
ograniczenie.
Pamiętaj też, że kaskadowe działania klawiszy obcych nie aktywują wyzwalaczy w MySQL.