MYSQL 外來鍵 作用說明

2021-04-30 09:50:05 字數 1016 閱讀 5769

外來鍵

是個(或數個)指向另外乙個**主鍵的字段。外來鍵的目的是確定資料的參考完整性(referential integrity)。換言之,只有被准許的資料值才會被存入資料庫內。

舉例來說,假設我們有兩個**:乙個 customer **,裡面記錄了所有顧客的資料;另乙個 orders **,裡面記錄了所有顧客訂購的資料。在這裡的乙個限制,就是所有的訂購資料中的顧客,都一定是要跟在 customer **中存在。在這裡,我們就會在 orders **中設定乙個外來鍵,而這個外來鍵是指向 customer **中的主鍵。這樣一來,我們就能確定所有在 orders **中的顧客都存在 customer **中。換句話說,orders**之中,不能有所有顧客是不存在於 customer **中的資料。

這兩個**的結構將會是如下:

customer **

欄位名性質

sid主鍵

last_name

first_name

orders **

欄位名性質

order_id

主鍵order_date

customer_sid

外來鍵amount

在以上的例子中,orders **中的 customer_sid 欄位是個指向 customers **中 sid 欄位的外來鍵。

在建 orders **時指定外來鍵的方式:

mysql:

create table orders (order_id integer, order_date date, customer_sid integer, amount double, primary key (order_id), foreign key (customer_sid) references customer(sid));

為表新加外來鍵。這裡假設 orders **已被建置,而外鍵尚未被指定:

mysql:

alter table orders add foreign key (customer_sid) references customer(sid);

mysql 外來鍵說明 Mysql外來鍵詳細說明

在mysql中,innodb引擎型別的表支援了外來鍵約束。constraint symbol foreign key id index col name,references tbl name index col name,on delete on update alter table serial...

mysql外來鍵作用

一 如果一張表中有乙個非主鍵的字段指向了別一張表中的主鍵,就將該字段叫做外來鍵。一張表中可以有多個外來鍵。外來鍵的預設作用有兩點 1.對子表 外來鍵所在的表 的作用 子表在進行寫操作的時候,如果外來鍵字段在父表中找不到對應的匹配,操作就會失敗。2.對父表的作用 對父表的主鍵字段進行刪和改時,如果對應...

mysql 外來鍵說明 MySQL外來鍵使用及說明詳解

一 外來鍵約束 mysql通過外來鍵約束來保證表與表之間的資料的完整性和準確性。外來鍵的使用條件 1.兩個表必須是innodb表,myisam表暫時不支援外來鍵 據說以後的版本有可能支援,但至少目前不支援 2.外來鍵列必須建立了索引,mysql 4.1.2以後的版本在建立外來鍵時會自動建立索引,但如...