DELETE 語句與 REFERENCE 約束沖突。


DELETE 語句與 REFERENCE 約束沖突。

 

DELETE 語句與 REFERENCE 約束"FK__Comment__Article__0519C6AF"沖突。該沖突發生於數據庫"dbArticle",表"dbo.Comment", column 'ArticleID'。 
語句已終止。

 

外鍵取值規則:空值或參照的主鍵值。 
(1)插入非空值時,如果主鍵表中沒有這個值,則不能插入。 
(2)更新時,不能改為主鍵表中沒有的值。 
(3)刪除主鍵表記錄時,你可以在建外鍵時選定外鍵記錄一起級聯刪除還是拒絕刪除。
(4)更新主鍵記錄時,同樣有級聯更新和拒絕執行的選擇。

INSERT 和 UPDATE 規范類別 

展開以顯示有關該關系的“刪除規則”和“更新規則”的信息。

刪除規則

指定當數據庫的最終用戶嘗試刪除某一行,而該行包含外鍵關系所涉及的數據時所發生的情況。如果設置為:

       Restrict(限制)︰如果有從行就不能刪除父行。
       Cascade(級聯)︰刪除父表中的行會自動刪除從表中的任何相關行。
       No Action(無動作)︰這是默認的情況,如果有從行就不能刪除父行。和restrict的區別在於何時執行約束。
    • Set Null(置空)︰該規則確保在父表刪除一行時,講從表的外鍵置空(如果允許空的話),行的其它列保持不變。

更新規則
指定當數據庫的用戶嘗試更新某一行,而該行包含外鍵關系所涉及的數據時所發生的情況。如果設置為:
                 

Restrict(限制)    顯示一條錯誤信息,告知用戶不允許執行該刪除操作,DELETE 將被回滾。Cascade(級聯)    刪除包含外鍵關系中所涉及的數據的所有行。

Set Null(置空)   如果表的所有外鍵列都可接受空值,則將該值設置為空。僅適用於 SQL Server 2005。

No Action(無動作)    如果表的所有外鍵列均已定義默認值,則將該值設置為列定義的默認值。僅適用於 SQL Server 2005。

外鍵(foreign key)的更新值必須匹配其父表中的某個父鍵值,並且當完成 父鍵(parent key)上的 update 操作時,所有的外鍵值必須有匹配的父鍵值。總的來說,這意味着不能存在任何“孤兒”;每個子表必須有一個父表。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM