MySQL на каскаде удаления. Тестовый Пример

Мне интересно об этом тестовом вопросе. Я сам подготовил пример и проверил его, но все еще не уверен в ответе.

Со следующим:

CREATE TABLE foo (
  id INT PRIMARY KEY AUTO_INCREMENT, 
  name INT
)

CREATE TABLE foo2 (
  id INT PRIMARY KEY AUTO_INCREMENT, 
  foo_id INT REFERENCES foo(id) ON DELETE CASCADE
)

Насколько я вижу, ответ:

a. Two tables are created

Хотя есть и:

b. If a row in table foo2, with a foo_id of 2 is deleted, then the row with id=2 in the table foo is automatically deleted

d.If a row with id = 2 in table foo is deleted, all rows with foo_id = 2 in table foo2 are deleted

В моем примере я бы использовал синтаксис удаления:

DELETE FROM foo WHERE id = 2;
DELETE FROM foo2 WHERE foo_id = 2;

По какой-то причине мне не удалось найти какую-либо связь между таблицами, хотя кажется, что она должна быть. Может быть, есть некоторые настройки MySQL или, возможно,ON DELETE CASCADE неправильно используется в запросах на создание таблицы? Мне осталось интересно ...

Ответы на вопрос(2)

Ваш ответ на вопрос