收藏321
分享
阅读2628
更新时间2025-08-20
FOREIGN KEY 约束用于防止破坏表之间链接的操作。
FOREIGN KEY 是一个表中的字段(或字段集合),它引用 PRIMARY KEY 在另一个表中。
具有外键的表称为子表,具有主键的表称为引用表或父表。
看下面两张表:
| PersonID | LastName | FirstName | Age |
|---|---|---|---|
| 1 | Hansen | Ola | 30 |
| 2 | Svendson | Tove | 23 |
| 3 | Pettersen | Kari | 20 |
| 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 约束防止无效数据插入外键列,因为它必须是父表中包含的值之一。 p>
要在创建 "Orders" 表时在 "PersonID" 列上创建 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)
);要在已建的 "Orders" 表的 "PersonID" 列上创建 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 约束,请使用以下 SQL:
ALTER TABLE Orders
DROP FOREIGN KEY FK_PersonOrder;相关
视频
RELATED VIDEOS
科技资讯
1
2
3
4
5
6
7
8
9
精选课程
共5课时
17.2万人学习
共49课时
77.2万人学习
共29课时
61.9万人学习
共25课时
39.4万人学习
共43课时
71.1万人学习
共25课时
61.8万人学习
共22课时
23万人学习
共28课时
34万人学习
共89课时
125.5万人学习