1. 程式人生 > >MySQL外來鍵在資料庫中的作用

MySQL外來鍵在資料庫中的作用

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

MySQL外來鍵的作用:

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

1

a b 兩個表

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

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

有了外來鍵後

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

建立外來鍵的前提:

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

指定主鍵關鍵字: foreign key(

列名)

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

事件觸發限制

on deleteon 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外來鍵,參照外表outTableid列。當外來鍵的值刪除,本表中對應的列刪除;當外來鍵的值改變 本表中對應的列值改變。

注:

MySQL一張表只能有一個主鍵,主鍵可以由多個欄位組成。