Từ khóa NGOẠI TỆ SQL
KHÓA NGOÀI
Ràng buộc FOREIGN KEY
là khóa được sử dụng để liên kết hai bảng với nhau.
KHÓA NGOẠI TỆ là một trường (hoặc tập hợp các trường) trong một bảng tham chiếu đến KHÓA CHÍNH trong một bảng khác.
KHÓA NGOẠI TỆ SQL trên TẠO BẢNG
SQL sau đây tạo KHÓA NGOẠI TỆ trên cột "PersonID" khi bảng "Đơn hàng" được tạo:
MySQL:
CREATE TABLE Orders
(
OrderID int NOT NULL,
OrderNumber int NOT NULL,
PersonID int,
PRIMARY KEY (OrderID),
FOREIGN KEY (PersonID) REFERENCES Persons(PersonID)
);
Máy chủ SQL/Oracle/MS truy cập:
CREATE TABLE Orders
(
OrderID int NOT NULL PRIMARY KEY,
OrderNumber int NOT NULL,
PersonID int FOREIGN KEY REFERENCES Persons(PersonID)
);
Để cho phép đặt tên cho ràng buộc FOREIGN KEY và để xác định ràng buộc FOREIGN KEY trên nhiều cột, hãy sử dụng cú pháp SQL sau:
Truy cập MySQL / SQL Server / Oracle / MS:
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)
);
KHÓA NGOẠI TỆ SQL trên BẢNG ALTER
Để tạo ràng buộc FOREIGN KEY trên cột "PersonID" khi bảng "Đơn hàng" đã được tạo, hãy sử dụng SQL sau:
Truy cập MySQL / SQL Server / Oracle / MS:
ALTER TABLE Orders
ADD FOREIGN KEY (PersonID)
REFERENCES Persons(PersonID);
Để cho phép đặt tên cho ràng buộc FOREIGN KEY và để xác định ràng buộc FOREIGN KEY trên nhiều cột, hãy sử dụng cú pháp SQL sau:
Truy cập MySQL / SQL Server / Oracle / MS:
ALTER TABLE Orders
ADD CONSTRAINT FK_PersonOrder
FOREIGN KEY (PersonID)
REFERENCES Persons(PersonID);
BỎ Ràng buộc FORIGN KEY
Để loại bỏ ràng buộc FOREIGN KEY, hãy sử dụng SQL sau:
MySQL:
ALTER TABLE Orders
DROP FOREIGN KEY FK_PersonOrder;
Máy chủ SQL/Oracle/MS truy cập:
ALTER TABLE Orders
DROP CONSTRAINT FK_PersonOrder;