天天看點

删除時外鍵沖突怎麼辦

首先我們設定這樣一個場景

有兩張表 1.department,2.staff

我們可以知道,一個department會有多個staff,是以設定staff裡的depid為department裡depid的外鍵。

那麼這樣帶來一個問題:

我們删除staff的資料時,自然不會有什麼問題。但是删除department記錄呢?因為deparement裡還有員工啊!

這帶來外鍵的沖突。

我們可以這樣,當删除某個部門的時候,我們先獲得它的id,找到它下面所有的員工。将這些員工的depid重新設定。可以設定到其它的部門,或者是根部門。