MySQL外鍵在數據庫中的作用

MySQL外鍵的目的是控制存儲在外鍵表中的數據,使兩張表形成關聯,是MySQL數據庫中非常重要的組成部分,值得我們去深入瞭解。那麼,MySQL外鍵究竟起到哪些作用呢?下文就將帶您一探其中的祕密。

MySQL外鍵的作用:

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

例1:

a b 兩個表

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

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

有了外鍵後

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

建立外鍵的前提:

本表的列必須與外鍵類型相同(外鍵必須是外表主鍵)。

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

引用外鍵關鍵字: references <外鍵表名>(外鍵列名)

事件觸發限制: 

on delete和on update , 可設參數cascade(跟隨外鍵改動), restrict(限制外表中的外鍵改動),set Null(設空值),set Default(設默認值),[默認]no action

例2:

outTable表 主鍵 id 類型 int

創建含有外鍵的表:

create table temp(

id int,

name char(20),

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

 

說明:把id列設爲MySQL外鍵,參照外表outTable的id列。當外鍵的值刪除,本表中對應的列刪除;當外鍵的值改變 本表中對應的列值改變。

注:

MySQL中一張表只能有一個主鍵,主鍵可以由多個字段組成。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章