ВНЕШНИЙ КЛЮЧ SQL Ключевое слово
❮ Справочник по ключевым словам SQL
ИНОСТРАННЫЙ КЛЮЧ
Ограничение FOREIGN KEY
— это ключ, используемый для связывания двух таблиц вместе.
ВНЕШНИЙ КЛЮЧ — это поле (или набор полей) в одной таблице, которое ссылается на ПЕРВИЧНЫЙ КЛЮЧ в другой таблице.
ВНЕШНИЙ КЛЮЧ SQL при СОЗДАНИИ ТАБЛИЦЫ
Следующий SQL создает FOREIGN KEY в столбце «PersonID» при создании таблицы «Заказы»:
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 на 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, используйте следующий SQL:
MySQL:
ALTER TABLE Orders
DROP FOREIGN KEY FK_PersonOrder;
SQL Server/Oracle/MS Access:
ALTER TABLE Orders
DROP CONSTRAINT FK_PersonOrder;
❮ Справочник по ключевым словам SQL