1. 程式人生 > >級聯引用完整性約束ON DELETE { NO ACTION | CASCADE | SET NULL | SET DEFAULT }

級聯引用完整性約束ON DELETE { NO ACTION | CASCADE | SET NULL | SET DEFAULT }

通過使用級聯引用完整性約束,您可以定義當用戶試圖刪除或更新現有外來鍵指向的鍵時,SQL Server 執行的操作。

CREATE TABLE 語句和 ALTER TABLE 語句的 REFERENCES 子句支援 ON DELETE 子句和 ON UPDATE 子句。還可以使用“外來鍵關係”對話方塊定義級聯操作:

  • [ ON DELETE { NO ACTION | CASCADE | SET NULL | SET DEFAULT } ]

  • [ ON UPDATE { NO ACTION | CASCADE | SET NULL | SET DEFAULT } ]

如果沒有指定 ON DELETE 或 ON UPDATE,則預設為 NO ACTION。

CASCADE、SET NULL 和 SET DEFAULT 允許通過刪除或更新鍵值來影響指定具有外來鍵關係的表,這些外來鍵關係可追溯到在其中進行修改的表。如果為目標表也定義了級聯引用操作,那麼指定的級聯操作也將應用於刪除或更新的那些行。不能為具有 timestamp 列的外來鍵或主鍵指定 CASCADE。

相關推薦

引用完整性約束ON DELETE { NO ACTION | CASCADE | SET NULL | SET DEFAULT }

通過使用級聯引用完整性約束,您可以定義當用戶試圖刪除或更新現有外來鍵指向的鍵時,SQL Server 執行的操作。 CREATE TABLE 語句和 ALTER TABLE 語句的 REFERENCES 子句支援 ON DELETE 子句和 ON UPDATE 子句。

MySQL外鍵約束On DeleteOn Update

eve delet spa ted sql nes charset del blog 使用外鍵實現Create Table: CREATE TABLE `child` ( `par_id` int(11) NOT NULL, `child_id` int(11)

MySQL外來鍵約束On DeleteOn Update的詳解

ON DELETE restrict(約束):當在父表(即外來鍵的來源表)中刪除對應記錄時,首先檢查該記錄是否有對應外來鍵,如果有則不允許刪除。 no action:意思同restrict.即如果存在從資料,不允許刪除主資料。 cascade(級聯):當在父表(即外來鍵

SQLSERVER外來鍵約束NO ACTION,CASCADE,SET NULL,SET DEFAULT

大部分的資料是類似下面這樣寫的: NO ACTION 指定如果試圖刪除/修改某一行,而該行的鍵被其他表的現有行中的外來鍵所引用,則產生錯誤並回滾 DELETE/UPDATE語句。 CASCADE、SET NULL 和 SET DEFAULT 允許通過刪除或更新鍵值來影

MySQL|RESTRICT|NO ACTION|CASCADE| SET NULL四種外來鍵約束

外來鍵約束比較多得兩種情況: 1.父表更新時子表也更新,父表刪除時如果子表有匹配的項,刪除失敗; ON UPDATE CASCADE ON DELETE RESTRICT 2.父表更新時子表也更新,父表刪除時子表匹配的項也刪除; ON UPDATE

Mysql中外鍵的 CascadeNO ACTION ,Restrict ,SET NULL

是什麽 支持 含義 ict fault 3.2 let log nod 外鍵約束對子表的含義: 如果在父表中找不到候選鍵,則不允許在子表上進行insert/update 外鍵約束對父表的含義: 在父表上進行update/delete以更新或刪除在子表中有

MySQL外鍵設置中的的 CascadeNO ACTION、Restrict、SET NULL

mysql def TE 記錄 註意 col sql 默認 變更 一、cascade方式  在父表上update/delete記錄時,同步update/delete掉子表的匹配記錄 二、set null方式  在父表上update/delete記錄時,將子表上匹配記錄的列設

Mysql外來鍵設定中的CASCADENO ACTION、RESTRICT、SET NULL

今天在使用Navicat for mysql設計表時,在設定外來鍵的時候,刪除時和更新時兩列有四個值可以選擇:CASCADE、NO ACTION、RESTRICT、SET NULL,自己全親自試了一遍,它們的區別如下: CASCADE:父表delete、up

MySQL外來鍵約束_ON DELETE CASCADE/ON UPDATE CASCADE刪除,刪除主表資料,附表資料也被刪除)

MySQL通過外來鍵約束實現資料庫的參照完整性,外來鍵約束條件可在建立外來鍵時指定,table的儲存引擎只能是InnoDB,因為只有這種儲存模式才支援外來鍵。 外來鍵約束條件有以下4種: (1)restrict方式:同no action,都是立即檢查外來鍵約束; - - 限制

MySQL:04---資料完整性(非空、唯一、主鍵、check、預設值、外來鍵約束),設定,表自增列

一、資料完整性 1.概念:指資料能正確反映實際情況 2.分類 實體完整性:識別符號或主鍵完整性(主鍵、唯一值約束) 域完整性:限制資料型別、格式、取值範圍(檢查、預設值、外來鍵約束) 引用完整性:輸入或刪除時,不能存在引用不存在的值(外來鍵約束) 自定義完整性

SQL SERVER 主鍵和外來鍵中的 刪除(ON DELETE CASCADE)和更新(ON UPDATE CASCADE

建立學生表 create table gh_student( stuno varchar(3) primary key, stuname varchar(4), stuclass varchar(3) ) 插入資料 insert into gh_student values

mysql 外來鍵 刪除 更新:Cannot delete or update a parent row: a foreign key constraint fails (`db1`.grade

報錯:Cannot delete or update a parent row: a foreign key constraint fails。 原因:表關聯生成的強制約束問題,在刪除的時候回檢查表之間的關聯關係,從而導致無法刪除,更新 解決辦法: SET foreign_key_c

Hibernate Validator 6.0.7.Final 之一(宣告Bean約束約束

前幾篇文章講的校驗都是針對簡單屬性,那麼,如果一個bean的屬性是一個複雜物件呢,我們該怎麼校驗,其實也簡單,只需要在這個屬性上使用@Valid註解就可以了。 Person的定義 public class Person { @NotNull(message

Hibernate Validator 6.0.7.Final 之三(方法約束約束

和bean屬性約束之級聯約束一樣,方法約束也支援級聯約束。直接看例子: Car定義 public class Car { @NotNull private String manufacturer; @NotNull @Size(min

MySQL外來鍵約束_ON DELETE CASCADE/ON UPDATE CASCADE

MySQL通過外來鍵約束實現資料庫的參照完整性,外來鍵約束條件可在建立外來鍵時指定,table的儲存引擎只能是InnoDB,因為只有這種儲存模式才支援外來鍵。 外來鍵約束條件有以下4種: (1)restrict方式:同no action,都是立即檢查外來鍵約束; -

Android Studio 單工程、多工程依賴下的aar的引用

Android Studio 多工程級聯依賴下的aar的引用 背景: application A 依賴 library B library B 依賴 library C library C 引用a

Oracle12C--主外來鍵約束刪除資料問題--操作(九)

知識點的梳理: on delete cascade:當主表資料刪除時,對應的子表資料同時刪除; on delete set null:當主表資料刪除時,對應的子表資料設定為null; 問題1:刪除

Hibernate操作Cascade學之---delete

所在cascade,就是說我在更新一方的時候,可以根據這一方物件之間的關聯關係,去對被關聯方進行持久化,比如說Team和Student之間的1對多關係,使用cascade,可以在team方維護其持有的student集合時,自動對其新增,修改,刪除的student物件進行持久化

外來鍵約束失效--更新刪除

public void onCreate(SQLiteDatabase db) { // TODO Auto-generated method stub String classesSQL = "CREATE TABLE classes(class_id var

mysql 在表中新增多個外來鍵/增加外來鍵/約束

CREATE TABLE`xh` (  `id` int(100) unsigned NOT NULL AUTO_INCREMENT COMMENT ,  `cl_id` smallint(3) unsigned NOT NULL COMMENT,  `title` varchar(100) COLLAT