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

Verwendung und Beispiel des SQL FOREIGN KEY-Schlüsselworts

SQL-Schlüsselwort-Referenz

FOREIGN KEY

FOREIGN KEY-Beschränkungen sind entscheidend für die Verbindung von zwei Tabellen.

FOREIGN KEY ist ein Feld (oder eine Sammlung von Feldern) in einer Tabelle, das eine PRIMARY KEY in einer anderen Tabelle referenziert.

SQL FOREIGN KEY auf CREATE TABLE

Bei der Erstellung der Tabelle "PersonID" wird folgende SQL auf der Spalte FOREIGN KEY "Orders" erstellt:

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

Um FOREIGN KEY-Beschränkungen zu benennen und FOREIGN KEY-Beschränkungen auf mehreren Spalten zu definieren, verwenden Sie die folgende SQL-Syntax:

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 auf ALTER TABLE

Um nach der Erstellung der Tabelle eine FOREIGN KEY-Beschränkung "Orders" auf der Spalte "PersonID" zu erstellen, verwenden Sie folgende SQL:

MySQL / SQL Server / Oracle / MS Access:

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

Um FOREIGN KEY-Beschränkungen zu benennen und FOREIGN KEY-Beschränkungen auf mehreren Spalten zu definieren, verwenden Sie die folgende SQL-Syntax:

MySQL / SQL Server / Oracle / MS Access:

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

FOREIGN KEY-Bedingung löschen

Um die FOREIGN KEY-Bedingung zu löschen, verwenden Sie die folgenden SQL:

MySQL:

ALTER TABLE Orders
DROP FOREIGN KEY FK_PersonOrder;

SQL Server / Oracle / MS Access:

ALTER TABLE Orders
DROP CONSTRAINT FK_PersonOrder;

SQL-Schlüsselwort-Referenz