教你快速掌握DB2数据库创建外键时的选项
创始人
2024-07-23 21:51:47
0

创建外键时的选项:

  1.创建测试表:

  drop table student;
  drop table class;
  drop table student_class;
  Create table student(student_id integer not null,student_name varchar(200), CONSTRAINT P_KEY_1 primary key (student_id)) in luzl_32k_tb index in luzl_32k_tb ;
  Create table class(class_id integer not null,class_name varchar(200), CONSTRAINT P_KEY_2 primary key (class_id)) in luzl_32k_tb index in luzl_32k_tb ;
  Create table student_class(student_class_id integer,student_id integer,class_id integer) in luzl_32k_tb index in luzl_32k_tb;
  alter table student_class add constraint if_class foreign key(class_id) references class(class_id) ON DELETE cascade ON UPDATE RESTRICT;
  alter table student_class add constraint if_student foreign key(student_id) references student(student_id) ON DELETE cascade ON UPDATE RESTRICT;
  Insert into student(student_id,student_name) values(1,'luzl');
  Insert into class(class_id,class_name) values(1,'db2');
  Insert into student_class(student_class_id,student_id,class_id) values(1,1,1);

  2.On Delete 的选项有

  Restrict/no action/cascade/set null.其中cascade选项指定的话,如果删除父记录,依赖于他的子记录也会自动删除.相当于级联删除.如果指定no action和cascade都会报错,因为还有子记录所以无法删除该记录.set nul允许删除父记录并且l会将子表中与父表关联的字段设置为null.

  3.On Update 只有两个选项 no action/restrict.它们在更新和删除时并没有区别:如果与子表关联不允许删除.

  4.另外还需要注意一点,父表中的字段必须是主键,才能做为子表的外键。

文中的介绍有一部分时以代码的形式展现出来的,可能对与刚入门的初学者来说比较难理解,本文为大家啊整理的条理比较明了,希望对大家寓所帮助。

【编辑推荐】

  1. 在IBM DB2数据库中进行包的重绑定
  2. 三种级别的DB2数据库字符集的设置与修改
  3. DB2数据库使用的14个经典小技巧

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...