主表: 一方.
從表: N方.
主表的鍵刪除,從表與之對應的外鍵也刪除.
從表的外鍵刪除,主表無反應.
ON DELETE/UPDATE CASCADE,在外鍵定義時加上.
以下內容摘自:http://www.jianglb.com/2007/09/02/mysql-foreign-key.html
外鍵的作用:
保持數據一致性,完整性,主要目的是控制存儲在外鍵表中的數據。 使兩張表形成關聯,外鍵只能引用外表中的列的值!
例如:
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列 當外鍵的值刪除 本表中對應的列篩除 當外鍵的值改變 本表中對應的列值改變。
posted on 2008-04-07 12:05
紫蝶∏飛揚↗ 閱讀(1162)
評論(0) 編輯 收藏 所屬分類:
數據庫