外鍵是用于兩個(gè)表鏈接在一起的鍵。這有時(shí)被稱(chēng)為一個(gè)參考項(xiàng)。
外鍵是一列或多列的值匹配在不同的表的主鍵的組合。
如果一個(gè)表有字段定義的主鍵,那么就不能有兩個(gè)記錄具有字段的值相同。
考慮這兩個(gè)表的結(jié)構(gòu)如下:
CUSTOMERS 表:
CREATE TABLE CUSTOMERS( ID INT NOT NULL, NAME VARCHAR (20) NOT NULL, AGE INT NOT NULL, ADDRESS CHAR (25) , SALARY DECIMAL (18, 2), PRIMARY KEY (ID) );
ORDERS 表:
CREATE TABLE ORDERS ( ID INT NOT NULL, DATE DATETIME, CUSTOMER_ID INT references CUSTOMERS(ID), AMOUNT double, PRIMARY KEY (ID) );
如果ORDERS表已經(jīng)創(chuàng)建,以及外鍵尚未設(shè)置,通過(guò)改變一個(gè)表指定外鍵,使用下面的語(yǔ)法。
ALTER TABLE ORDERS ADD FOREIGN KEY (Customer_ID) REFERENCES CUSTOMERS (ID);
要?jiǎng)h除一個(gè)外鍵約束,使用下面的SQL語(yǔ)句:
ALTER TABLE ORDERS DROP FOREIGN KEY;