CASCADE
ще разпространи промяната, когато родителят се промени. (Ако изтриете ред, редовете в ограничени таблици, които препращат към този ред, също ще бъдат изтрити и т.н.)
SET NULL
задава стойността на колоната на NULL, когато родителски ред изчезне.
RESTRICT
причинява неуспешен опит за ИЗТРИВАНЕ на родителски ред.
РЕДАКТИРАНЕ:Не сте попитали за тях, но стандартът на SQL дефинира две други действия:SET DEFAULT
и NO ACTION
. В MySQL NO ACTION
е еквивалентен на RESTRICT
. (В някои СУБД NO ACTION
е отложена проверка, но в MySQL всички проверки са незабавни.) Парсерът на MySQL приема SET DEFAULT
, но и двете машини InnoDB и NDB отхвърлят тези изрази, така че SET DEFAULT
всъщност не може да се използва нито за ON UPDATE
или ON DELETE
ограничение.
Също така имайте предвид, че каскадните действия с външни ключове не активират тригери в MySQL.