實(shí)際上 FOREIGN KEY 是一列或幾列的組合,可用于設(shè)置兩個表中數(shù)據(jù)之間的鏈接。換句話說,我們可以說 FOREIGN KEY 約束與兩個表相關(guān)。它還用于增強(qiáng)數(shù)據(jù)完整性,因?yàn)楸淼闹麈I鏈接到其他表的外鍵。
語法
FOREIGN KEY [column_name] REFERENCES [table having Primary Key] ([column_name]);
登錄后復(fù)制
這里REFERENCES是一個關(guān)鍵字; column_name 是要設(shè)置 FOREIGN KEY 的列的列表;具有主鍵的表是包含主鍵的表的名稱; column_name 是已設(shè)置 PRIMARY KEY 的列的列表。
示例
假設(shè)我們有兩個表“Customer”和“Orders”。兩個表之間的關(guān)系可以通過字段“Cust_Id”指定的表“orders”中的外鍵建立。創(chuàng)建兩個表的查詢?nèi)缦?–
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)
登錄后復(fù)制
這里,表“Customer”稱為父表或引用表,表“Orders”稱為子表或引用表。子表中的行必須包含父表中存在的值。例如,表“orders”中的每一行都必須具有“customer”表中存在的“Cust_Id”。
以上就是FOREIGN KEY 是什么意思以及我們?nèi)绾卧?MySQL 表中使用它?的詳細(xì)內(nèi)容,更多請關(guān)注www.92cms.cn其它相關(guān)文章!