首頁  >  文章  >  資料庫  >  FOREIGN KEY 是什麼意思以及我們如何在 MySQL 表中使用它?

FOREIGN KEY 是什麼意思以及我們如何在 MySQL 表中使用它?

王林
王林轉載
2023-09-06 13:53:022392瀏覽

FOREIGN KEY 是什么意思以及我们如何在 MySQL 表中使用它?

實際上 FOREIGN KEY 是一列或幾列的組合,可用來設定兩個表格中資料之間的連結。換句話說,我們可以說 FOREIGN KEY 限制與兩個表相關。它也用於增強資料完整性,因為表的主鍵連結到其他表的外鍵。

語法

FOREIGN KEY [column_name] REFERENCES [table having Primary Key] ([column_name]);

這裡REFERENCES是一個關鍵字;column_name 是設定FOREIGN KEY 的列的清單;​​具有主鍵的表是包含主鍵的表的名稱;column_name 是已設定 PRIMARY KEY的列的列表。

範例

假設我們有兩個表格「Customer」和「Orders」。兩個表之間的關係可以透過欄位「Cust_Id」指定的表「orders」中的外鍵建立。建立兩個表的查詢如下 -

mysql> Create Table Customer(Cust_ID int Primary Key, First_name Varchar(20), Last_name  Varchar(20), City Varchar(10));
Query OK, 0 rows affected (0.13 sec)

mysql> Create Table Orders(Order_Id Int Primary Key, Product_Name Varchar(25), Orderdate DATE, Cust_ID Int, FOREIGN KEY(Cust_ID) REFERENCES Customer(Cust_id));
Query OK, 0 rows affected (0.13 sec)

mysql> Describe Orders;
+--------------+-------------+------+-----+---------+-------+
| Field        | Type        | Null | Key | Default | Extra |
+--------------+-------------+------+-----+---------+-------+
| Order_Id     | int(11)     | NO   | PRI | NULL    |       |
| Product_Name | varchar(25) | YES  |     | NULL    |       |
| Orderdate    | date        | YES  |     | NULL    |       |
| Cust_ID      | int(11)     | YES  | MUL | NULL    |       |
+--------------+-------------+------+-----+---------+-------+
4 rows in set (0.04 sec)

這裡,表「Customer」稱為父表或引用表,表「Orders」稱為子表或引用表。子表中的行必須包含父表中存在的值。例如,表格「orders」中的每一行都必須具有「customer」表中存在的「Cust_Id」。

以上是FOREIGN KEY 是什麼意思以及我們如何在 MySQL 表中使用它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除