Comment modifier un champ qui fait référence à une autre table ?

clé -  
Nhay Messages postés 838 Date d'inscription   Statut Membre Dernière intervention   -
Bonsoir,
J'aimerais savoir comment modifier un champ d'une table étant sa clé primaire, et clé secondaire d'une autre table.
Où dois-je spécifier ça ? Dans la table dans laquelle je travaille, le champ qui ne marche pas est une clé primaire, comment dois-je spécifier que c'est une clé secondaire d'une autre table ?
Aidez-moi SVP
Merci
A voir également:

2 réponses

Delphine
 
Bonjour,

l'élément qui est clé primaire dans une table on le spécifie le plus souvent par le fait que c'est un entier (integer) qui s'auto incrémente.

Si vous utiliser cette clé primaire dans une autre table mais en tant que clé étrangère, ce n'est pas la peine de le spécifier.
1
Nhay Messages postés 838 Date d'inscription   Statut Membre Dernière intervention   126
 
Bonjour !
Sur Mysql, tu a plusieurs moteur, malheureusement tous ne gèrent pas les clés étrangères.
Il me semble que InnoDB les gèrent, Myisam non.

Si tu n'a pas le choix du moteur, tu devras malheureusement gérer les dépendances dans ton code ou via les Triggers (Donc pas de suppression en cascades automatiques par exemple)


PS :
Contrairement à ce que dit Delphine, les clé ne servent bien entendu pas qu'à l'auto-incrémente, mais aussi pour l'indexation, l'unicité, les dépendances, etc ...
0