English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Метод использования и примеры ключевого слова SQL FOREIGN KEY

Справочник по ключевым словам SQL

FOREIGN KEY

Ограничение FOREIGN KEY является ключом для соединения двух таблиц.

FOREIGN KEY - это поле (или набор полей) в таблице, которое ссылается на PRIMARY KEY в другой таблице.

SQL FOREIGN KEY на CREATE TABLE

При создании таблицы "PersonID" используйте следующий SQL для создания FOREIGN KEY "Orders":

MySQL:

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

SQL Server / Oracle / MS Access:

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

Чтобы命名约束 FOREIGN KEY и определить FOREIGN KEY на нескольких столбцах, используйте следующий SQL-синтаксис:

MySQL / SQL Server / Oracle / MS Access:

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)
;

SQL FOREIGN KEY на ALTER TABLE

Чтобы создать ограничение FOREIGN KEY в столбце "PersonID" после создания таблицы, используйте следующий SQL:

MySQL / SQL Server / Oracle / MS Access:

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

Чтобы命名约束 FOREIGN KEY и определить FOREIGN KEY на нескольких столбцах, используйте следующий SQL-синтаксис:

MySQL / SQL Server / Oracle / MS Access:

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

Удаление FOREIGN KEY ограничения

Чтобы удалить ограничение FOREIGN KEY, используйте следующий SQL:

MySQL:

ALTER TABLE Orders
DROP FOREIGN KEY FK_PersonOrder;

SQL Server / Oracle / MS Access:

ALTER TABLE Orders
DROP CONSTRAINT FK_PersonOrder;

Справочник по ключевым словам SQL