网络子表自动设置为空;当父表值删除;删除 网络释义
ON DELETE SET NULL选项表示在父表中删除一条记录时,与之相关的子表中的外键值会被设置为NULL。这意味着删除父表中的记录后,子表中的外键值将被置空,而不是自动删除相关记录。这种情况下需要注意子表外键字段允许为NULL,否则会违反外键约束。 总的来说,CASCADE会自动删除相关记录,而ON DELETE SET NULL只会将...
on delete set null外键约束试验 on delete set null,顾名思义,这种方式建立的外键约束,当被参照的数据被删除是,参照该数据的那些数据的对应值将会变为空值,下面我们通过试验来证明on delete set null作用: 首先恢复刚才的那几条数据,然后更改约束: alter table emp add constraint fk_emp_dept foreign key(dep...
on delete set null: 外键指向记录被删除时设置受影响记录外键字段为空。 altertableemp addconstraintfk_emp_deptforeignkey(dept)referencesdept(deptno)ondeletesetnull; 删除dept的记录时emp中参照这条数据的两条数据的dept的值被自动赋空。
当然不一样,on delete cascade 会删除关联表相关的记录 而on delete set null 只是将关联表相关记录的外键列设为null,其他非外键字段不会改变,也不会删除该条记录
对于2,需要使用on delete set null建立外键约束。实验: create table dept_test (deptno number(10) not null, deptname varchar2(30) not null, constraint pk_dept_test primary key(deptno)); create table emp_test (empno number(10) not null, fname varchar2(20) , lname varchar2(20) , dept ...
先看On Delete属性,可能取值如上图为:No Action, Cascade,Set Null, Restrict属性。 当取值为No Action或者Restrict时,则当在父表(即外键的来源表)中删除对应记录时,首先检查该记录是否有对应外键,如果有则不允许删除。 当取值为Cascade时,则当在父表(即外键的来源表)中删除对应记录时,首先检查该记录是否有对应...
使用on delete cascade和on delete set null来建立外键 alter table emp add constraint fk_emp_dept foreign key(dept) references dept(deptno) on delete set null;然后我们在执行删除操作:delete from dept where deptno = 1;
MySQL|RESTRICT|NO ACTION|CASCADE| SET NULL四种外键约束 外键约束比较多得两种情况: 1.父表更新时子表也更新,父表删除时如果子表有匹配的项,删除失败: ON UPDATE CASCADE ON DELETE RESTRICT 1 2.父表更新时子表也更新, ... ...