" /> Mot de passe <br /><input type="password" name="passwd" id="passwd" class="inputbox" size="18" alt="password" />
Accueil SQL Clé étrangère
PDF

FOREIGN KEY - Un des points de table à l'autre PRIMARY KEY.

Regardez les deux tableaux suivants:

Il ya une table "Personnes":

P_IDLastNamePrénomAddressVille
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendsen Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger

Il ya une table "Commandes":

O_IDOrderNoP_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

Commentaires

 
+5 #1 Симо 2011-07-07 15:50 Tutoriel très utile. Seulement maintenant, j'ai réalisé ce que sont ces clés étrangères. Citer
 
 
+3 #2 Sin 2011-08-14 17:32 Merci pour la leçon, seulement deux questions voznyklo:
1
2 s?
Citer
 
 
+1 #3 pnz 2012-02-21 11:28
w3schools.com /.../...
Citer
 

Autorisation

Nice, l'Ajax Sondage

Lequel de mes extensions est le meilleur?

Statistiques

Publicité