主表的鍵是從表的外來鍵,外來鍵的級聯

2021-08-29 21:35:04 字數 881 閱讀 8158

[size=large][b]主表: 一方.

從表: n方.

主表的鍵刪除,從表與之對應的外來鍵也刪除.

從表的外來鍵刪除,主表無反應.

on delete/update cascade,在外鍵定義時加上.

以下內容摘自:

外來鍵的作用:

保持資料一致性,完整性,主要目的是控制儲存在外鍵表中的資料。 使兩張表形成關聯,外來鍵只能引用外表中的列的值!

例如:a b 兩個表

a表中存有 客戶號,客戶名稱

b表中存有 每個客戶的訂單

有了外來鍵後

你只能在確信b 表中沒有客戶x的訂單後,才可以在a表中刪除客戶x

建立外來鍵的前提: 本表的列必須與外來鍵型別相同(外來鍵必須是外表主鍵)。

指定主鍵關鍵字: foreign key(列名)

引用外來鍵關鍵字: references 《外來鍵表名》(外來鍵列名)

事件觸發限制: on delete和on update , 可設引數cascade(跟隨外來鍵改動), restrict(限制外表中的外來鍵改動),set null(設空值),set default(設預設值),[預設]no action

例如:

outtable表 主鍵 id 型別 int

建立含有外來鍵的表:

create table temp(

id int,

name char(20),

foreign key(id) references outtable(id) on delete cascade on update cascade);

說明:把id列 設為外來鍵 參照外表outtable的id列 當外來鍵的值刪除 本表中對應的列篩除 當外來鍵的值改變 本表中對應的列值改變。 [/b][/size]

外來鍵約束 外來鍵級聯操作

建立db2資料庫 create database db2 使用db2資料庫 use db2 外來鍵約束 標準語法 constraint 外鍵名 foreign key 本表外來鍵列名 references 主表名 主表主鍵列名 建表時新增外來鍵約束 建立user使用者表 create table u...

mysql的外來鍵級聯查詢 mysql外來鍵使用和級聯

如下面的 idint not null auto increment primary key,jobidint not null,studentidint not null,foreign key studentid referencesstudent id foreign key jobid re...

mysql 自己是自己的外來鍵 mysql外來鍵的使用

一早就知道有mysql有外來鍵這回事,但是貌似平時的專案中用到的並不多,以至於我沒有去研究過這個東西,也不知道該怎麼用。當然也不清楚對效能的影響。這篇文章先搞清楚外來鍵的作用。首先來新增一張表,做為測試要用的一張參考表。create table user id int 11 not null aut...