對於資料庫字段,外來鍵,關係, 修改

2022-03-12 05:41:22 字數 1263 閱讀 1631

由於,系統加密,不能複製,只好摘抄了

www.cnblogs.com/oyjj/archive/2009/02/18/2133018.html 介紹外來鍵三種關係

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 操作時,所有的外鍵值必須有匹配的父鍵值。總的來說,這意味著不能存在任何「孤兒」;每個子表必須有乙個父表。

technet.microsoft.com/zh-cn/ms189049(v=sql.100)  建立主外來鍵 的列表

資料庫 外來鍵

外來鍵是什麼?外來鍵 fk 是用於建立和加強兩個表資料之間的鏈結的一列或多列。通過將儲存表中主鍵值的一列或多列新增到另乙個表中,可建立兩個表之間的鏈結。這個列就成為第二個表的外來鍵。外來鍵資料庫一級的完整性約束,由資料庫自行維護.你也可以手動建立.1如果存在外來鍵關係的話,任何修改主表主鍵欄位和刪除...

資料庫外來鍵

主鍵 能夠唯一標識表中某一行的屬性或屬性組。乙個表只能有乙個主鍵,但是可以有多個索引。主鍵常常與外來鍵構成完整性約束,防止出現資料的不一致,資料庫管理系統對於主鍵自動生成唯一索引,所以主鍵是乙個特殊的索引。外來鍵 用於建立和加強兩個表資料之間的連線的一列或者多列。外來鍵主要是用來維護兩個表之間的資料...

資料庫外來鍵

概念 table2的乙個鍵關聯table1的主鍵 foreign key 作用 保持資料的一致性和完整性 表的字段必須與外來鍵型別相同 insert table2的時候會檢查foreign key是否在table1中存在,不存在則返回失敗 delete table1某行資料的時候檢查table2中是...