例如下面这两个表中分别存的时员工的基本信息和公司的部门信息。我们为
create table dept
(deptno number(10) not null,
deptname varchar2(30) not null,
constraint pk_dept primary key(deptno));
和
create table emp
( empno number(10) not null,
fname varchar2(20) ,
lname varchar2(20) ,
dept number(10) ,
constraint pk_emp primary key(empno));
然后我们现在分别使用这两个关键字来增加外键试一下,我们可以使用on delete cascade和on delete set null。
alter table emp
add constraint fk_emp_dept foreign key(dept) references dept(deptno) on delete cascade;
alter table emp
add constraint fk_emp_dept foreign key(dept) references dept(deptno) on delete set null;
分享到:
相关推荐
* 外键绑定关系这里使用了“ON DELETE CASCADE”和“ON UPDATE CASCADE”,意思是如果外键对应数据被删除或者更新时,将关联数据完全删除或者相应地更新。 MySQL 中的外键可以强制实施数据的一致性和完整性,使得...
常见的触发限制参数有ON DELETE和ON UPDATE,它们可以设置成多种参数,包括CASCADE(级联删除或更新)、RESTRICT(限制删除或更新)、SET NULL(将引用列置为空)和SET DEFAULT(设置默认值)。不加参数时,默认行为...
在这个例子中,`ON DELETE CASCADE`或`ON DELETE SET NULL`可以指定对外键操作的约束行为。 总结来说,Oracle的主键和外键是数据库设计的核心概念,它们确保了数据的完整性和一致性。主键用于标识表中的唯一记录,...
[ON DELETE {CASCADE | SET NULL | NO ACTION | RESTRICT}] [ON UPDATE {CASCADE | SET NULL | NO ACTION | RESTRICT}] 其中,on delete/on update 用于定义 delete、update 操作。 三、外键的约束类型 外键的...
[ON DELETE {CASCADE | RESTRICT | SET NULL | NO ACTION}] [ON UPDATE {CASCADE | RESTRICT | SET NULL | NO ACTION}] ); ``` 这里,`child_table`是子表,`parent_table`是父表,`foreign_key_column`是子表中...
- **解决方案**:通过在外键上定义适当的约束(例如`ON DELETE CASCADE`),可以确保在删除`商品表`中的记录时,自动将`销售单据表`中所有引用该商品ID的记录一起删除,从而保证数据的完整性和一致性。 #### 三、...
- `ON DELETE SET NULL`:主键记录被删除时,外键记录的值设为NULL(如果该外键允许为NULL)。 - `ON UPDATE SET NULL`:主键记录的值被更新时,外键记录的值设为NULL。 了解并正确使用外键约束对于设计和管理高效...
[ON DELETE {CASCADE | SET NULL | NO ACTION | RESTRICT}] [ON UPDATE {CASCADE | SET NULL | NO ACTION | RESTRICT}]; ``` 其中: - `yourtablename`:指需要添加外键约束的表名。 - `index_col_name`:指被...
[ON DELETE {RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT}] [ON UPDATE {RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT}] ``` - CONSTRAINT symbol:可选,用于指定外键的名称。 - ...
外键表名>(外键列名) 事件触发限制: on delete和on update , 可设参数cascade(跟随外键改动), restrict(限制外表中的外键改动),set Null(设空值),set Default(设默认值),[默认]no action 例如: ...
FOREIGN KEY (groupid) REFERENCES t_group(id) ON DELETE CASCADE ON UPDATE CASCADE ); 在上面的示例中,t_user 表中的 groupid 字段是 t_group 表的外键,级联方式将被应用于删除和更新操作。 外键约束方式是...
3. 级联操作:通过设置`on delete`和`on update`规则,可以实现当父表数据发生变化时,子表相应数据的自动更新或删除,如`cascade`(级联)、`restrict`(限制)、`set null`(设为空)和`set default`(设默认值)...
如果你设置了 ON DELETE SET NULL,但是相关的键的字段又设置成了 NOT NULL 值,那么 Error 150 将会出现。你可能通过修改 cascade 的属性值或者把字段属性设置成 allow null 来搞定这个 bug。 6. 字符集和_collate...
ON DELETE {CASCADE | RESTRICT | SET NULL | NO ACTION} ON UPDATE {CASCADE | RESTRICT | SET NULL | NO ACTION} ); ``` 其中,`child_table`是子表,`parent_table`是父表,`column_name`是子表中作为外键的列...
主外键关系的约束策略包括`CASCADE`, `SET NULL`, `NO ACTION`和`RESTRICT`。例如,`ON DELETE CASCADE`表示如果主表中的记录被删除,所有依赖于它的子表记录也将被删除。而`ON UPDATE CASCADE`则意味着主表中的记录...
- **ON DELETE SET NULL**:当删除父表中的行时,将所有相关联的子表行的外键值设置为NULL。 - **ON DELETE SET DEFAULT**:当删除父表中的行时,将所有相关联的子表行的外键值设置为默认值。 ### 三、实际应用案例...
在使用Hibernate时,正确选择和配置cascade选项对于高效地管理和维护实体之间的关系至关重要。通过了解不同选项的特点和应用场景,开发人员可以更加灵活地应对各种业务需求,同时也能够有效地避免潜在的数据一致性...
ON DELETE {RESTRICT | CASCADE | SET NULL | NO ACTION} ON UPDATE {RESTRICT | CASCADE | SET NULL | NO ACTION}; ``` 在这个例子中,`child_table`是子表的名称,`fk_constraint_name`是你为外键约束自定义的...