SQL FOREIGN KEY 外鍵實例教程
外國的SQL關鍵的制約因素
外鍵在一個表點,主鍵在另一就座。
讓我們說明了外國鑰匙與一個例子。看看以下兩個表格:
在“人”表:
LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
order 表.
O_Id OrderNo P_Id
1 77895 3
2 44678 3
3 22456 2
4 24562 1
請注意, “ P_Id ”欄目中的“訂單”表指出, “ P_Id ”欄目中的“人”就座。
該“ P_Id ”欄目中的“人”表是首要的關鍵在“人”就座。
該“ P_Id ”欄目中的“訂單”表外鍵的“訂單”表。
外鍵約束是用來防止行動將破壞之間的聯系表。
外鍵約束也可以防止無效的數據插入到外國鍵列,因為它是一個價值表中的這點。
-------------------------------------------------- ------------------------------
外國的SQL關鍵制約創建表
下列SQL創建外鍵上的“ P_Id ”一欄時, “訂單”表創建:
MySQL的:
CREATE TABLE Orders
(
O_Id int NOT NULL,
OrderNo int NOT NULL,
P_Id int,
PRIMARY KEY (O_Id),
FOREIGN KEY (P_Id) REFERENCES Persons(P_Id)
)
SQL Server / Oracle / MS Access
CREATE TABLE Orders
(
O_Id int NOT NULL PRIMARY KEY,
OrderNo int NOT NULL,
P_Id int FOREIGN KEY REFERENCES Persons(P_Id)
)為了讓命名外鍵約束,並確定外鍵約束多列,請使用下面的SQL語法:MySQL / SQL Server / Oracle / MS Access:為了減少外國關鍵的制約因素下降外鍵約束,使用下列SQL : MySQL的:ALTER TABLE Orders
DROP FOREIGN KEY fk_PerOrdersSQL Server / Oracle / MS Access:ALTER TABLE Orders
DROP CONSTRAINT fk_PerOrders