首頁  >  文章  >  資料庫  >  mysql中外碼是什麼

mysql中外碼是什麼

下次还敢
下次还敢原創
2024-04-29 03:18:15344瀏覽

外碼是 MySQL 中的資料完整性約束,透過引用主表主鍵列來確保子表資料與主表一致。外碼工作原理如下:確保子表引用的主表資料存在。級聯刪除:主表記錄刪除時,級聯刪除子表相關記錄。級聯更新:主表主鍵更新時,級聯更新子表相關記錄。

mysql中外碼是什麼

什麼是 MySQL 中的外碼?

外碼(Foreign Key)是 MySQL 中的一種資料完整性約束,用於確保不同表之間的行具有有效且一致的關係。它透過引用另一個表(主表)中的主鍵列來實現。

外碼如何運作?

當在子表中建立外碼時,它會引用主表中的主鍵列。當子表中插入一筆記錄時,外碼列的值必須符合主表中現有的主鍵值。

  • 完整性:外碼限制可確保子表中所引用的資料始終在主表中存在。
  • 級聯刪除:當主表中的記錄被刪除時,可以級聯刪除子表中所有相關記錄,從而保持表之間的關係完整性。
  • 級聯更新:當主表中的主鍵值更新時,可以級聯更新子表中所有相關記錄,從而保持一致性。

建立外碼

使用下列語法建立外碼:

<code class="sql">ALTER TABLE 子表
ADD FOREIGN KEY (外码列) REFERENCES 主表(主键列);</code>

範例

假設我們有兩個表:訂單訂單明細#。 訂單明細表有一個外碼 order_id,它引用 訂單表中的主鍵 id

<code class="sql">CREATE TABLE 订单 (
  id INT PRIMARY KEY,
  客户名称 VARCHAR(255)
);

CREATE TABLE 订单明细 (
  id INT PRIMARY KEY,
  order_id INT,
  产品名称 VARCHAR(255),
  数量 INT,
  FOREIGN KEY (order_id) REFERENCES 订单(id)
);</code>

當插入給訂單明細表格時,order_id 必須對應於訂單表格中的現有id 值。這確保了訂單明細始終與有效的訂單關聯。

以上是mysql中外碼是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn