萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> SQL FOREIGN KEY 外鍵實例教程

SQL FOREIGN KEY 外鍵實例教程

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

copyright © 萬盛學電腦網 all rights reserved