MySQL外鍵是指用來限制兩個表之間聯系的一組字段,這些字段必須在一個表中是主鍵或是唯一鍵,在另一個表中是外鍵。因此,MySQL外鍵只能關聯主鍵嗎?
CREATE TABLE orders ( id INT PRIMARY KEY, customer_id INT, FOREIGN KEY (customer_id) REFERENCES customers(id) ); CREATE TABLE customers ( id INT PRIMARY KEY, name VARCHAR(50) );
在這個例子中,orders表中的customer_id列是一個外鍵,它參照了customers表中的id列。因為id列是customers表中的主鍵,所以外鍵關聯了主鍵。
如果外鍵試圖關聯一個不是主鍵或唯一鍵的列,MySQL會報錯。因此,MySQL外鍵只能關聯主鍵或唯一鍵。