我有這個問題。我這下表:刪除外鍵然後刪除記錄並最終設置外鍵返回是一種很好的做法嗎?
employeeID - supervisorID - workerType 1 - 3 - 1 2 - 3 - 1 3 - NULL - 1
supervisorID實際上是主鍵「僱員」的外交。每個員工都屬於workerType。
現在我想刪除所有workerType=1
,所以它會刪除employeeID=1, employeeID=2 & employeeID=3
。但是mysql不會允許cos獲得外鍵約束(例如employeeID=3
)。
另外,我不想on delete cascade
因爲我想拒絕非法刪除(這是唯一的經理可以刪除員工)。如果我允許on delete cascade
,那麼我必須建立另一個系統來控制非法刪除,但是這樣會更節能。
我使用舊版本的MySQL 5.0
是很好的做法,刪除外鍵,然後刪除記錄&最後設置的外鍵回來?
那麼如何在不刪除外鍵的情況下刪除workerType=1
?
檢查此問題http://stackoverflow.com/questions/15501673/how-to-temporarily-disable-a-foreign-key-constraint-in-mysql – Damodaran
嘗試規則。我不知道mysql是否有規則。如果有使用它 – Sathish