亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

搜索
MySQL 教程 / Foreign Key

Foreign Key

MySQL FOREIGN KEY 外鍵約束

FOREIGN KEY 約束用于防止破壞表之間鏈接的操作。

FOREIGN KEY 是一個表中的字段(或字段集合),它引用 PRIMARY KEY 在另一個表中。

具有外鍵的表稱為子表,具有主鍵的表稱為引用表或父表。

看下面兩張表:

Persons 表

PersonID LastName FirstName Age
1 Hansen Ola 30
2 Svendson Tove 23
3 Pettersen Kari 20

Orders 表

OrderID OrderNumber PersonID
1 77895 3
2 44678 3
3 22456 2
4 24562 1

注意 "Orders" 表中的 "PersonID" 列指向 "Persons" 表中的 "PersonID" 列。

"Persons" 表中的 "PersonID" 列是 "Persons" 表中的PRIMARY KEY

"Orders" 表中 "PersonID" 列是 "Orders" 表中的FOREIGN KEY。

FOREIGN KEY 約束防止無效數(shù)據(jù)插入外鍵列,因為它必須是父表中包含的值之一。



FOREIGN KEY on CREATE TABLE

要在創(chuàng)建 "Orders" 表時在 "PersonID" 列上創(chuàng)建 FOREIGN KEY 約束,請使用以下 SQL:

CREATE TABLE Orders (     OrderID int NOT NULL,     OrderNumber int NOT NULL,     PersonID int,     PRIMARY KEY (OrderID),     FOREIGN KEY (PersonID) REFERENCES Persons(PersonID) );

允許命名 FOREIGN KEY 約束,并在多個列上定義 FOREIGN KEY 約束 ,請使用以下 SQL 語法:

CREATE TABLE Orders (     OrderID int NOT NULL,     OrderNumber int NOT NULL,     PersonID int,     PRIMARY KEY (OrderID),     CONSTRAINT FK_PersonOrder FOREIGN KEY (PersonID)     REFERENCES Persons(PersonID) );

FOREIGN KEY on ALTER TABLE

要在已建的 "Orders" 表的 "PersonID" 列上創(chuàng)建 FOREIGN KEY 約束,請使用以下 SQL:

ALTER TABLE Orders ADD FOREIGN KEY (PersonID) REFERENCES Persons(PersonID);

允許命名 FOREIGN KEY 約束,并在多個列上定義 FOREIGN KEY 約束 ,請使用以下 SQL 語法:

ALTER TABLE Orders ADD CONSTRAINT FK_PersonOrder FOREIGN KEY (PersonID) REFERENCES Persons(PersonID);

刪除 FOREIGN KEY 外鍵約束

要刪除 FOREIGN KEY 約束,請使用以下 SQL:

ALTER TABLE Orders DROP FOREIGN KEY FK_PersonOrder;