ON DELETE操作 restrict(约束): 当在父表(即外键的来源表)中删除对应记录时,首先检查该记录是否有对应外键,如果有则不允许删除。 no action:意思同restrict.即如果存在从数据,不允许删除主数据。 cascade(级联):当在父表(即外键的来源表)中删除对应记录时,首先检查该记录是否有对应外键,如果有则也删除外键在子表...
On Delete和On Update都有Restrict,No Action, Cascade,Set Null属性。现在分别对他们的属性含义做个解释。 ON DELETE restrict(约束):当在父表(即外键的来源表)中删除对应记录时,首先检查该记录是否有对应外键,如果有则不允许删除。 no action:意思同restrict.即如果存在从数据,不允许删除主数据。 cascade(级联):...
MySQL外键约束On Delete、On Update各取值的含义 先看On Delete属性,可能取值如上图为:No Action, Cascade,Set Null, Restrict属性。 当取值为No Action或者Restrict时,则当在父表(即外键的来源表)中删除对应记录时,首先检查该记录是否有对应外键,如果有则不允许删除。 当取值为Cascade时,则当在父表(即外键的来...
On Delete和On Update都有Restrict,No Action, Cascade,Set Null属性。现在分别对他们的属性含义做个解释。 ON DELETE restrict(约束):当在父表(即外键的来源表)中删除对应记录时,首先检查该记录是否有对应外键,如果有则不允许删除。 no action:意思同restrict.即如果存在从数据,不允许删除主数据。 cascade(级联):...
FOREIGN KEY (parent_id) REFERENCES parent_table(id) ON DELETE RESTRICT ON UPDATE RESTRICT; 4. SET NULL(设为空) 行为描述:当父表中的某行数据被删除或更新时,子表中对应的外键字段会被设置为NULL。这要求子表中外键字段必须允许为NULL值。
(1)restrict方式:同no action,都是立即检查外键约束; - - 限制,指的是如果子表引用父表的某个字段的值,那么不允许直接删除父表的该值。 1. (2)cascade方式:在父表上update/delete记录时,同步update/delete子表的匹配记录 ; On delete cascade从mysql3.23.50开始可用,on update cascade从mysql4.0.8开始可用 ...
[ON UPDATE {RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT}] 该语法可以在 CREATE TABLE 和 ALTER TABLE 时使用,如果不指定CONSTRAINT symbol,MYSQL会自动生成一个名字。 ON DELETE、ON UPDATE表示事件触发限制,可设参数: ① RESTRICT(限制外表中的外键改动,默认值) ...
RESTRICT(默认):如果尝试更新具有相关外键的记录的主键或唯一键,MySQL将拒绝更新操作,并抛出一个错误。 CASCADE:如果更新具有相关外键的记录的主键或唯一键,MySQL将自动更新相关的外键值。 可以在定义外键时使用ON UPDATE子句来指定更新操作选项。例如,以下语句将在创建外键时使用CASCADE选项: ...
1 InnoDB支持5种方式, 分列如下cascade方式在父表上update/delete记录时,同步update/delete掉子表的匹配记录On delete cascade从mysql3.23.50开始可用; on update cascade从mysql4.0.8开始可用 2 set null方式在父表上update/delete记录时,将子表上匹配记录的列设为null要注意子表的外键列不能为not nullOn ...
ON DELETE RESTRICT )ENGINE=InnoDB; 54.2 添加外键 ALTER TABLE table_name ADD CONSTRAINT constraint_name FOREIGN KEY foreign_key_name(columns) REFERENCES parent_table(columns) ON DELETE action ON UPDATE action; 54.3 删除外键 ALTER TABLE table_name ...