3 回答

TA貢獻1829條經(jīng)驗 獲得超13個贊
使用實際外鍵的主要好處是確保數(shù)據(jù)的完整性,并能夠在修改或刪除某些內(nèi)容時對相關(guān)項目設(shè)置級聯(lián)操作。
例如,假設(shè)您正在編程一個論壇。您有一個帶有主鍵的“ topics”表topics.topic_id
,又有一個“ posts”表,其中的帖子通過column列附加到主題posts.topic_id
,這是topics表的外鍵。
這種外鍵關(guān)系確保每個帖子都附加到有效主題。如果您擁有的唯一主題的ID為#1,則不可能在數(shù)據(jù)庫中存在與主題#2關(guān)聯(lián)的帖子。數(shù)據(jù)庫確保了這一點。
為了獲得層疊的好處,您可以對其進行設(shè)置,以便在從主題表中刪除主題時,數(shù)據(jù)庫自動刪除該主題所附的帖子表中的所有帖子。這很好,因為它消除了您必須記住要手動執(zhí)行的步驟,當(dāng)您將許多表鏈接在一起時,該步驟會變得非常復(fù)雜。使用外鍵可以自動清除所有關(guān)系。

TA貢獻1963條經(jīng)驗 獲得超6個贊
1.FOREIGN KEYS僅確保您的數(shù)據(jù)一致。
2.如果我們對外鍵定義應(yīng)用刪除級聯(lián),則在父行刪除時引用行將自動刪除。
3.如果對外鍵定義應(yīng)用“更新級聯(lián)”,則在父行更新時,子行將自動更新。
查詢:ALTER TABLE子項ADD FOREIGN KEY(parent_id)參考parent(id)ON UPDATE CASCADE ON DELETE CASCADE;
您不能刪除直接父表,首先要從子表中刪除外鍵,而不要刪除父表。
添加回答
舉報