`

使用on delete cascade和on delete set null建立外键(转)

 
阅读更多

例如下面这两个表中分别存的时员工的基本信息和公司的部门信息。我们为
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;

分享到:
评论

相关推荐

    mysql外键设置

    mysql外键的设置,使用。添加外键的格式: ALTER TABLE yourtablename ... [ON DELETE {CASCADE | SET NULL | NO ACTION | RESTRICT}] [ON UPDATE {CASCADE | SET NULL | NO ACTION | RESTRICT}]

    mysql建立外键

    外键表名>(外键列名) 事件触发限制: on delete和on update , 可设参数cascade(跟随外键改动), restrict(限制外表中的外键改动),set Null(设空值),set Default(设默认值),[默认]no action 例如: ...

    MYSQL 高级篇之数据库搜索引擎及原理

    针对上面创建的两个表, 子表的外键指定是ON DELETE RESTRICT ON UPDATE CASCADE 方式的, 那么在主表删除记录的时候, 如果子表有对应记录, 则不允许删除, 主表在更新记录的时候, 如果子表有对应记录, 则子表...

    python-mysql day05.txt

    3、set null :删除、更新,从表该字段设置为 NULL 4、删除 1、show create table 表名; 2、alter table 表名 drop foreign key 外键名; 5、已有表 alter table 表名 add constraint 外键名 foreign key(字段...

    Django中ORM外键和表的关系详解

    第一个参数是引用的是哪个模型,第二个参数是在使用外键引用的模型数据被删除了,这个字段该如何处理,比如有 CASCADE 、 SET_NULL 等。这里以一个实际案例来说明。比如有一个 User 和一个 Article 两个模型。一个 ...

    Oracle数据库中外键的相关操作整理

    当主表的记录发生变化时导致外键参考唯一约束值发生了变化时,Oracle指定了三种动作:默认值(类似于restrict)、delete cascade和delete set null。( 1.创建父表并初始化数据 SQL> create table t_parent (parent...

    数据库相关的知识点!

    foregin key 外键 建立两个表之间的联系 语法 constraint fk_dep foreign key(关联列名) references 被关联表(被关联列) on delete cascade 同步删除 on update cascade 同步更新 二、Mysql基本介绍 操作文件夹...

    django数据模型on_delete, db_constraint的使用详解

    还需要null=True, blank=True,on_delete=models.SET_NUL这里我之前写的是on_delete=models.CASCADE 默认级联删除,坑了自己一把,还有昨天晚上也是,后台写好,万事具备的时候,准备开撸前台,ajax请求就是不通,各种改地址...

    mysql数据库的基本操作语法

    级联删除:删除主表的数据时,关联的从表数据也删除,则需要在建立外键约束的后面增加on deletecascade 或on delete set null,前者是级联删除,后者是将从表的关联列的值设置为null。 create table student( id int...

    jdbc基础和参考

    many-to-one:标签中对于cascade的取值delete,delete-orphan,all-delete-orphan(只用unique属性值不为true不能出现)慎用 cascade:级联属性 none:不做任何级联操作 save-update:对当前对象执行save,update, ...

    Caused by: java.sql.SQLIntegrityConstraintViolationException: Cannot delete or update a parent row:

    网上查了很多,都说不满足主键约束啥的等等都没解决,我的问题主要是... 当取值为Set Null时,则当在父表(即外键的来源表)中删除对应记录时,首先检查该记录是否有对应外键,如果有则设置子表中该外键值为null(不

    【MySQL作业】DDL 和 DML——美和易思使用 DML 删除表数据应用习题

    打开从表 orders 的设计视图,单击“外键”,出现 orders 表外键编辑窗口,下拉选中“删除时”的状态值为“SET NULL”。 如果删除客户时,该客户所下订单亦跟着全部删除,则下拉选中“删除时”的状态值为“CASCADE...

    Oracle事例

    REFERENCE 表名() on delete cascade; 7、删除带约束的表 Drop table 表名 cascade constraints; 8:索引管理 <1>.creating function-based indexes sql> create index summit.item_quantity on summit....

    hibernate总结

    子表引用主表的主键做外键,这个外键建立了unique约束、not-null约束 //主对象: public class Dept implements java.io.Serializable { private Integer deptid; private String deptname; private Integer ...

    Hibernate注释大全收藏

    以上所有实体使用 JOINED 策略 Ferry和Boat class使用同名的主键关联(eg: Boat.id = Ferry.id), AmericaCupClass 和 Boat 关联的条件为 Boat.id = AmericaCupClass.BOAT_ID. 从父类继承的属性 @MappedSuperclass ...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    mssql 微软 只能能运行在windows平台,体积比较庞大,占用许多系统资源, 但使用很方便,支持命令和图形化管理,收费。 中型企业 Mysql 甲骨文 是个开源的数据库server,可运行在多种平台, 特点是响应速度特别快,...

    2009达内SQL学习笔记

    最大优点是可以包含其他 SELECT 语句,使用能够动态地建立 WHERE 子句。 如 SELECT prod_id,prod_price,prod_name FROM Products WHERE vend_id IN(‘DELL’,’RBER’,’TTSR’); 八、单行函数: 函数一般在数据...

Global site tag (gtag.js) - Google Analytics