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

Utilizzo e esempio della chiave FOREIGN KEY SQL

Riferimento delle parole chiave SQL

FOREIGN KEY

La constraint FOREIGN KEY è essenziale per connettere due tabelle insieme.

FOREIGN KEY è un campo (o insieme di campi) in una tabella che fa riferimento alla PRIMARY KEY di un'altra tabella.

SQL FOREIGN KEY su CREATE TABLE

Quando si crea la tabella "PersonID", utilizzare il seguente SQL per creare la FOREIGN KEY "Orders" sulla colonna:

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

Per dare un nome alla constraint FOREIGN KEY e definire una constraint FOREIGN KEY su più colonne, utilizzare la seguente sintassi 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 su ALTER TABLE

Per creare una constraint FOREIGN KEY su "PersonID" dopo aver già creato la tabella, utilizzare il seguente SQL:

MySQL / SQL Server / Oracle / MS Access:

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

Per dare un nome alla constraint FOREIGN KEY e definire una constraint FOREIGN KEY su più colonne, utilizzare la seguente sintassi SQL:

MySQL / SQL Server / Oracle / MS Access:

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

Eliminazione della constraint FOREIGN KEY

Per eliminare la constraint FOREIGN KEY, utilizzare il seguente SQL:

MySQL:

ALTER TABLE Orders
DROP FOREIGN KEY FK_PersonOrder;

SQL Server / Oracle / MS Access:

ALTER TABLE Orders
DROP CONSTRAINT FK_PersonOrder;

Riferimento delle parole chiave SQL