隨筆-9  評論-168  文章-266  trackbacks-0
          主表:  一方.
          從表:  N方.
          主表的鍵刪除,從表與之對應(yīng)的外鍵也刪除.
          從表的外鍵刪除,主表無反應(yīng).
          ON DELETE/UPDATE CASCADE,在外鍵定義時加上.

          以下內(nèi)容摘自:http://www.jianglb.com/2007/09/02/mysql-foreign-key.html

          外鍵的作用:

          保持?jǐn)?shù)據(jù)一致性,完整性,主要目的是控制存儲在外鍵表中的數(shù)據(jù)。 使兩張表形成關(guān)聯(lián),外鍵只能引用外表中的列的值!
          例如:
          a b 兩個表
          a表中存有 客戶號,客戶名稱
          b表中存有 每個客戶的訂單
          有了外鍵后
          你只能在確信b 表中沒有客戶x的訂單后,才可以在a表中刪除客戶x

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

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

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

          事件觸發(fā)限制: on delete和on update , 可設(shè)參數(shù)cascade(跟隨外鍵改動), restrict(限制外表中的外鍵改動),set Null(設(shè)空值),set Default(設(shè)默認(rèn)值),[默認(rèn)]no action

          例如:

          outTable表 主鍵 id 類型 int

          創(chuàng)建含有外鍵的表:
          create table temp(
          id int,
          name char(20),
          foreign key(id) references outTable(id) on delete cascade on update cascade);

          說明:把id列 設(shè)為外鍵 參照外表outTable的id列 當(dāng)外鍵的值刪除 本表中對應(yīng)的列篩除 當(dāng)外鍵的值改變 本表中對應(yīng)的列值改變。

          posted on 2008-04-07 12:05 紫蝶∏飛揚↗ 閱讀(1168) 評論(0)  編輯  收藏 所屬分類: 數(shù)據(jù)庫
          主站蜘蛛池模板: 河北省| 沅陵县| 枝江市| 雷州市| 定州市| 出国| 上高县| 岑巩县| 抚宁县| 铁岭县| 施甸县| 南投市| 江口县| 固原市| 林周县| 自治县| 龙川县| 邳州市| 鄂伦春自治旗| 徐水县| 遂宁市| 晋州市| 南雄市| 额济纳旗| 游戏| 广德县| 普格县| 海盐县| 安宁市| 庆阳市| 兴安县| 库车县| 南充市| 河间市| 巫溪县| 托里县| 上栗县| 宿州市| 鹤岗市| 舟山市| 固阳县|