删除时,更新时有四个选项 : CASCADE 当在父表(即外键的来源表)中删除对应记录时,首先检查该记录是否有对应外键,如果有则也删除外键在子表(即包含外键的表)中的记录 NO ACTION 当在父表(即外键的来源表)中删除对应记录时,首先检查该记录是否有对应外键,如果有则不允许删除。 RESTRICT 当在父表(即外键的来源表...
1 MySQL中利用外键实现级联删除、更新 2 3 MySQL支持外键的存储引擎只有InnoDB,在创建外键的时候,要求父表必须有对应的索引,子表在创建外键的时候也会自动创建对应的索引。在创建索引的时候,可以指定在删除、更新父表时,对子表进行的相应操作,包括RESTRICT、NO ACTION、SET NULL和CASCADE。其中RESTRICT和NO ACTION相同,...
SET NULL: 若选择SET NULL,当删除父表中对应记录时,系统会检查该记录是否关联有外键。如果有,则将子表中该外键的值设置为NULL(前提为外键允许NULL值)。2. 更新时属性 RESTRICT(默认)/NO ACTION: 当设置为No Action或者RESTRICT时,在父表中更新对应记录时,系统会检查该记录是否有外键关联。如果...
允许删除。 NO ACTION:意思同RESTRICT,即如果存在从数据,不允许删除主数据。 CASCADE(级联):当在父表(即外键的来源表)中删除对应记录时,首先检查该记录否有对应外键,如果有则也删 除外键在子表(即包含外键的表)中的记录。 SET NULL:当在父表(即外键的来源表)中删除对应记录时,首先检查该记录是否有对应外键,...
SET NULL:当取值为Set Null时,则当在父表(即外键的来源表)中删除对应记录时,首先检查该记录是否有对应外键,如果有则设置子表中该外键值为null(不过这就要求该外键允许取null)。 2.更新时属性 RESTRICT(默认): 当取值为No Action或者Restrict时,则当在父表(即外键的来源表)中更新对应记录时,首先检查该记录是否...
MySQL中外键删除、更新 MySQL支持外键的存储引擎只有InnoDB、。在创建外键的时候,可以指定在删除、更新父表时,对子表进行的相应操作,包括RESTRICT、NO ACTION、SET NULL和CASCADE。 其中RESTRICT和NO ACTION相同,是指在子表有关联记录的情况下父表不能更新;
--添加外键约束并指定外键的删除和更新行为 alter table emp add constraint fk_emp_dept_id foreignkey(dept_id)referencesdept(id)on update cascade ondeletecascade; 将父表dept中的研发部的id改为6,emp表中的id也会跟着改变 当我们删除父表中id为6,我们可以看到子表emp中存在外键关联的数据也会被删除。 说...
--删除外键 alter table emp drop foreign key fk_emp_dept_id; 四.针对 外键约束【更新 / 删除 】的 on行为(可cv语句) 1.行为一览&语法 如下所示 cascade即我们所熟知的级联 语法如下所示 代码语言:javascript 复制 ALTERTABLE表名ADDCONSTRAINT外键名称FOREIGNKEY(外键字段)REFERENCES主表名(主表字段名)ONUPDA...
可以在定义外键时使用ON DELETE子句来指定删除操作选项。例如,以下语句将在创建外键时使用CASCADE选项: CREATETABLEorders(idINTPRIMARYKEY,order_numberINT,customer_idINT,FOREIGNKEY(customer_id)REFERENCEScustomers(id)ONDELETECASCADE); 更新操作选项: RESTRICT(默认):如果尝试更新具有相关外键的记录的主键或唯一键,MySQ...
MySQL中,外键确保数据完整性和一致性,关联表间建立关系。在orders表中,customer_id列通过外键引用customers表的id列。添加外键至已创建的表需使用ALTER TABLE语句。添加外键时,ON DELETE子句可指定删除操作选项,如CASCADE、RESTRICT、SET NULL或SET DEFAULT。ON UPDATE子句用于在创建外键时指定更新操作选项...