您的位置:首頁技術文章
文章詳情頁

教你快速掌握DB2數據庫創建外鍵時的選項

瀏覽:2日期:2023-11-08 14:59:30
創建外鍵時的選項:

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.另外還需要注意一點,父表中的字段必須是主鍵,才能做為子表的外鍵。

標簽: DB2 數據庫
国产综合久久一区二区三区