2014-07-16 42 views

回答

0

由於USER_ROLE是一個簡單的連接表,你不太可能需要ON UPDATE - 除非你打算改變users.idroles.id現有行(我懷疑)。

ON DELETE RESTRICT確保參照完整性被保持,即,不能刪除父行(即,在任一用戶角色)如果一個或多個行中USER_ROLE是指它。如果你嘗試刪除一行,MySQL會拋出一個錯誤。我很確定你不需要包含ON DELETE RESTRICT,因爲MySQL在這種情況下會拋出一個錯誤(爲了保持參照完整性),如果你已經定義了一個外部參數鍵。

使用ON DELETE CASCADE兩個外鍵在USER_ROLE如果你想在USER_ROLE一排由MySQL在你刪除它指的是行的情況下被刪除(在用戶角色)。另一種方法是在刪除一個或兩個父行之前手動執行(例如在您的代碼中)。

相關問題