MySQL允許我們在表中的多個列上添加FOREIGN KEY約束。條件是子表中的每個外鍵必須引用不同的父表。
示例
假設我們有一個名為’customer2’的表,該表在字段’cust_unq_id’上有一個主鍵約束,如下所示-
mysql> describe customer2; +-------------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------------+-------------+------+-----+---------+-------+ | cust_id | int(11) | YES | | NULL | | | First_name | varchar(20) | YES | | NULL | | | Last_name | varchar(20) | YES | | NULL | | | City | varchar(10) | YES | | NULL | | | cust_unq_id | int(11) | NO | PRI | 0 | | +-------------+-------------+------+-----+---------+-------+ 5 rows in set (0.06 sec)
登錄后復制
我們已經有一個名為orders1的表,它已經在字段’Cust_id’上有一個外鍵約束,引用到父表’customer’。
mysql> describe orders1; +--------------+-------------+------+-----+---------+-------+ | 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 | | | cust_unq_id | int(11) | YES | | NULL | | +--------------+-------------+------+-----+---------+-------+ 5 rows in set (0.04 sec)
登錄后復制
現在,借助以下 ALTER TABLE 查詢,我們可以在引用父表“customer2”的字段“cust_unq_id”上添加另一個外鍵約束
mysql> Alter table orders1 add FOREIGN KEY(cust_unq_id) REFERENCES Customer2(Cust_unq_id); Query OK, 0 rows affected (0.25 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> describe orders1; +--------------+-------------+------+-----+---------+-------+ | 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 | | | cust_unq_id | int(11) | YES | MUL | NULL | | +--------------+-------------+------+-----+---------+-------+ 5 rows in set (0.06 sec)
登錄后復制
從上面的結果集中可以看出,“orders1”表有兩個外鍵約束,一個在“cust_id”上,另一個在“cust_unq_id”外鍵約束上。
以上就是我們如何在多列上分配 FOREIGN KEY 約束?的詳細內容,更多請關注www.92cms.cn其它相關文章!