Это допустимая опция , приведенный ниже код работает должным образом.
DROP TABLE IF EXISTS TestFoo;
CREATE TABLE TestFoo
(
Foo INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY(Foo)
) ENGINE=InnoDB;
DROP TABLE IF EXISTS TestBar;
CREATE TABLE TestBar
(
Bar INT NOT NULL AUTO_INCREMENT,
Foo INT,
PRIMARY KEY(Bar),
FOREIGN KEY bar_foo (Foo)
REFERENCES TestFoo (Foo)
ON DELETE CASCADE
) ENGINE=InnoDB;
INSERT TestFoo VALUES (NULL),(NULL),(NULL),(NULL);
INSERT TestBar(Foo) VALUES (1),(2),(3),(4);
SELECT * FROM TestBar;
DELETE FROM TestFoo WHERE Foo = 2 OR Foo = 3;
SELECT * FROM TestBar;