我有一個多對多關係的簡短問題。 這裏是我的表:刪除正確的多對多關係
+---------+----------------+
| film_id | title |
+---------+----------------+
| 1 | Apocalypse Now |
+---------+----------------+
+-------------+----------------------+
| category_id | name |
+-------------+----------------------+
| 1 | cool category |
+-------------+----------------------+
| 2 | not so cool category |
+-------------+----------------------+
+---------+-------------+
| film_id | category_id |
+---------+-------------+
| 1 | 1 |
+---------+-------------+
| 1 | 2 |
+---------+-------------+
正如你可以看到有從film
FKS - 和category
-table在film_category
- 表。
我想要什麼:如果想刪除category
,然後在film_category
在category_id
發生應該刪除,太所有條目。但不是相關的film
s!除此之外:這應該工作,同時刪除film
反之亦然! (這正是我的問題就在這裏)
我的問題:我能解決這個問題,只有一個FK-定義或做我必須刪除film_category
- 表中的所有條目刪除film
或category
之前手動?
您可以用正常的做到這一點'ON DELETE CASCADE'參照觸發外鍵的動作。 – GarethD
當我這樣做,然後刪除一個'類別',相關的'電影'也被刪除。 – Sonnywhite
你可以發表你的表和外鍵的定義,[在sql小提琴](http://sqlfiddle.com/#!2/8f8ae0/1)我已經完成,當一個類別被刪除時,它只會刪除film_category中的行與該category_id,並保持電影表不變。 – GarethD