在資料庫設計中,外鍵對於透過建立表之間的關係來維護資料完整性至關重要。定義外鍵時,您可以指定引用操作來管理修改或刪除引用的父記錄時子記錄發生的情況。
一個常見的引用操作是 ON DELETE CASCADE,當子記錄被修改或刪除時,它會自動刪除子記錄。父記錄已刪除。若要將此行為變更為ON DELETE RESTRICT,以防止刪除具有關聯子記錄的父記錄,您可以使用以下步驟:
執行以下操作刪除現有外鍵約束的SQL 指令:
其中table_name 是包含外鍵列的表,constraint_name是外鍵約束的名稱。
現在,使用所需的 ON DELETE RESTRICT 行為建立一個新的外鍵約束:
其中foreign_key_column是table_name中引用referenced_table的列,referenced_table是表包含被引用的列,referenced_column是外鍵引用的referenced_table中的列,new_constraint_name是新外鍵約束的名稱。
範例:
考慮表 UserDetails 具有引用另一個表 Users 的外鍵 User_id。若要將引用操作從ON DELETE CASCADE 變更為ON DELETE RESTRICT,請依照下列步驟操作:
刪除現有外鍵約束:
使用ON DELETE新增新的外鍵約束RESTRICT:
透過執行這些步驟,您可以修改外鍵的參考操作,以確保在資料庫中強制執行所需的資料完整性規則。
以上是如何將外鍵的刪除操作從 CASCADE 變更為 RESTRICT?的詳細內容。更多資訊請關注PHP中文網其他相關文章!