FOREIGN KEY - Un des points de table à l'autre PRIMARY KEY.
Regardez les deux tableaux suivants:
Il ya une table "Personnes":
| P_ID | LastName | Prénom | Address | Ville |
|---|---|---|---|---|
| 1 | Hansen | Ola | Timoteivn 10 | Sandnes |
| 2 | Svendsen | Tove | Borgvn 23 | Sandnes |
| 3 | Pettersen | Kari | Storgt 20 | Stavanger |
Il ya une table "Commandes":
| O_ID | OrderNo | P_ID |
|---|---|---|
| 1 | 77895 | 3 |
| 2 | 44678 | 3 |
| 3 | 22456 | 2 |
| 4 | 24562 | 1 |
Notez que la colonne "P_ID" dans le tableau "Commandes" indique "P_ID" dans le tableau «Personnes».
La colonne "P_ID" dans le tableau "Personnes" est une clé primaire.
La colonne "P_ID" dans le tableau "Commandes" est une clé étrangère.
FOREIGN KEY ne permet pas d'insérer des données incorrectes dans la colonne "P_ID" dans le tableau "commandes" et "Personnes".
Contraintes FOREIGN KEY SQL dans CRÉER TABLE
L'instruction SQL suivante crée une FOREIGN KEY colonne "P_ID", lors de la création de la table "Commandes":
MySQL:
CRÉER TABLEAU Commandes ( O_ID int PAS NULL, OrderNo int PAS NULL, P_ID int, PRIMARY KEY (O_ID), FOREIGN KEY (P_ID) RÉFÉRENCES Personnes(P_ID) )
SQL Server / Oracle / MS Access:
CRÉER TABLEAU Commandes ( O_ID int PAS NULL PRIMARY KEY, OrderNo int PAS NULL, P_ID int FOREIGN KEY RÉFÉRENCES Personnes(P_ID) )
Vous pouvez distribuer le limiteur FOREIGN KEY sur plusieurs colonnes, d'utiliser la syntaxe SQL suivante:
MySQL / SQL Server / Oracle / MS Access:
1 2 3 4 5 6 7 8 |
CRÉER TABLEAU Commandes( O_ID int PAS NULL, OrderNo int PAS NULL, P_ID int, PRIMARY KEY (O_ID), CONTRAINTE fk_PerCommandes FOREIGN KEY (P_ID) RÉFÉRENCES Personnes(P_ID) ) |
SQL contraintes FOREIGN KEY dans la commande ALTER TABLE
L'instruction SQL suivante crée une FOREIGN KEY colonne "P_ID", lorsque la table "ordres" est déjà créé:
MySQL / SQL Server / Oracle / MS Access:
1 2 3 |
ALTER TABLEAU Commandes ADD FOREIGN KEY (P_ID) RÉFÉRENCES Personnes(P_ID) |
Vous pouvez distribuer le limiteur FOREIGN KEY sur plusieurs colonnes, d'utiliser la syntaxe SQL suivante:
MySQL / SQL Server / Oracle / MS Access:
1 2 3 4 |
ALTER TABLEAU Commandes ADD CONTRAINTE fk_PerCommandes FOREIGN KEY (P_ID) RÉFÉRENCES Personnes(P_ID) |
Suppression des FOREIGN KEY
Pour supprimer une contrainte FOREIGN KEY utilisant l'instruction SQL suivante:
MySQL:
1 2 |
ALTER TABLEAU Commandes DROP FOREIGN KEY fk_PerCommandes |
SQL Server / Oracle / MS Access:
1 2 |
ALTER TABLEAU Commandes DROP CONTRAINTE fk_PerCommandes |
SQL Clé étrangère





Commentaires
1
2 s? Citer
w3schools.com /.../...
Citer