是的,这是正确的:
NO ACTION: […] InnoDB
rejects the delete or update operation
for the parent table.
RESTRICT: Rejects the delete or update
operation for the parent table.
Specifying RESTRICT (or NO ACTION) is
the same as omitting the ON DELETE or
ON UPDATE clause. […]
显然NO ACTION和RESTRICT是同义词。此外,由于它们在没有ON DELETE / UPDATE子句时使用,这是默认行为。
SET NULL: Delete or update the row from the parent table and set the
foreign key column or columns in the
child table to NULL. […]
如果外部列未声明为NOT NULL(或InnoDB不允许删除或更新),则将外部列设置为NULL。
CASCADE: Delete or update the row from the parent table and
automatically delete or update the
matching rows in the child table.
[…]
级联删除(或更新)外部列。
SET DEFAULT: This action is recognized
by the parser, but InnoDB rejects
table definitions containing ON DELETE
SET DEFAULT or ON UPDATE SET DEFAULT
clauses.
所以基本上你不能使用该选项。