В базе данных у меня есть таблица имен пользователей, и у меня есть таблица юрисдикции. У меня также есть промежуточная таблица для назначения пользователя одной или нескольким юрисдикциям.Mysql 'Cascade On Delete' Не удаляется по внешней строке ключей при удалении родителя
employee table
userID (primary Key)
firstName
lastName
records:
+--------+-----------+----------+
| userID | firstName | lastName |
+--------+-----------+----------+
| 6 | John | Doe |
| 11 | lisa | lopez |
+--------+-----------+----------+
jurisdictions table
jurId (Primary Key)
region
records:
+-------+--------------+
| jurID | jurisdiction |
+-------+--------------+
| 1 | California |
| 2 | Texas |
| 3 | Washington |
| 4 | South Dakota |
| 5 | Alaska |
| 6 | Ohio |
+-------+--------------+
user_jurisdiction
userID (Foriegn Key pointing to employees userID)
jurID (Foriegn Key pointing to jurisdictions jurID)
records:
+--------+-------+
| userID | jurID |
+--------+-------+
| 6 | 2 |
| 6 | 3 |
| 11 | 2 |
+--------+-------+
Я хочу, чтобы сделать его там, где, если я удалить родительскую строку таблицы, промежуточный стол с соответствующим внешним ключом будет удален автоматически. Я сделал intermedieate таблицы:
CREATE TABLE user_jurisdiction(userID int NOT NULL, jurID int NOT NULL, FOREIGN KEY(userID) REFERENCES employee(userID) ON DELETE CASCADE, FOREIGN KEY (jurID) REFERENCES jurisdictions(jurID) ON DELETE CASCADE);
Но когда я удалить что-то из родительской таблицы .... вроде состояния имени строки из таблицы jurisidictions.jurisdiction ... идент и JURID строка не удаляется из промежуточная таблица user_jurisdiction автоматически. Из того, что я вижу, я сделал DELETE ON CASCADE правильным для каждого внешнего ключа. Почему в строке промежуточной таблицы не удаляются строки с внешними ключами при удалении родительской таблицы?