English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
La contrainte FOREIGN KEY est la clé pour joindre deux tables ensemble.
FOREIGN KEY est un champ (ou un ensemble de champs) dans une table, qui fait référence à la PRIMARY KEY d'une autre table.
Lors de la création de la table "PersonID", le SQL suivant crée la contrainte FOREIGN KEY "Orders" sur la colonne :
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) );
Pour nommer une contrainte FOREIGN KEY et définir une contrainte FOREIGN KEY sur plusieurs colonnes, utilisez la syntaxe SQL suivante :
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) );
Pour créer une contrainte FOREIGN KEY "Orders" sur la colonne "PersonID" après avoir créé la table, utilisez le SQL suivant :
MySQL / SQL Server / Oracle / MS Access :
ALTER TABLE Orders ADD FOREIGN KEY (PersonID) REFERENCES Persons(PersonID);
Pour nommer une contrainte FOREIGN KEY et définir une contrainte FOREIGN KEY sur plusieurs colonnes, utilisez la syntaxe SQL suivante :
MySQL / SQL Server / Oracle / MS Access :
ALTER TABLE Orders ADD CONSTRAINT FK_PersonOrder FOREIGN KEY (PersonID) REFERENCES Persons(PersonID);
Pour supprimer la contrainte FOREIGN KEY, utilisez le SQL suivant :
MySQL :
ALTER TABLE Orders DROP FOREIGN KEY FK_PersonOrder;
SQL Server / Oracle / MS Access :
ALTER TABLE Orders DROP CONSTRAINT FK_PersonOrder;