MySQL—FOREIGN KEY

來源:互聯網
上載者:User

標籤:

作用:保持資料一致性,完整性。實現一對一或一對多關聯性。(學習的過程中,老師說,實際的生產中,一般不使用物理上的外鍵約束的,都是使用邏輯上的外鍵約束)

要求:

  1. 父表與子表的儲存引擎必須相等,而且只能是InnoDB;
  2. 禁止使用暫存資料表;
  3. 外鍵列和參照列的資料類型相同。數位長度和是否有符號位必須相同。字元的長度則可以不同;
  4. 外鍵列和參照列必須建立索引。如果,外鍵列不存在索引的話,MySQL會自動建立索引。

約束的參照操作(在進行資料插入的時候,是先插入父表,在插入子表的)

  1. CASCADE:從父表刪除或更新,且自動刪除或更新 子表中匹配的行
  2. SET NULL: 從父表刪除或更新行,並設定子表中的外鍵列為NULL。如果使用該選項,必須保證子表列沒有指定NOT NULL;
  3. RESTRICT:決絕對父表的刪除或更新操作;
  4. NO ACTION:標準sql關鍵字,在MySQL中,與RESTRICT相同;

Eg:FOREIGN KEY(Pid) REFERENCES province(Id) ON DELETE CASCADE;

MySQL—FOREIGN KEY

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.