|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : septembre 2003 Messages : 9 ![]() |
salut !
Est il possible de créer plusieurs clés étrangères dans une table? J'ai une table fille avec 2 champs en UNIQUE KEY et 2 table mere. Je peux créer une clés etrangeres mais pas 2. ET si je vire l'UNIQUE KEY je ne peux plus rien créer du tout. Comment puis-je faire?? Merci d'avance. |
|
|
00
|
|
|
#2 |
|
Membre habitué
![]() |
bien sur qu'il est possible d'voir plusieurs clé etrangères dans une même table...
ensuite, je ne comprends pas trop ton problème. donne nous ton instruction CREATE TABLE et ce qui pose problème et on t'aidera au mieux |
|
|
00
|
|
|
#3 | ||||||
|
Invité de passage
![]() Inscription : septembre 2003 Messages : 9 ![]() |
salut
Vola pour le creation des 3 tables Code :
Code :
Resultat : Code :
|
||||||
|
|
00
|
|
|
#4 | ||||
|
Membre habitué
![]() |
pourquoi ne cree tu pas directement les clés etrangères dans ton create...
si tu tiens à faire comme ça, une remarque tout de même : tu ne peux pas creer des champs, puis en creer du même nom en tant que clés etrangère... il vaut mieux que tu fasse : Code :
Code :
|
||||
|
|
00
|
|
|
#5 | ||||||
|
Invité de passage
![]() Inscription : septembre 2003 Messages : 9 ![]() |
j'ai essayé de créer les cles etrangeres directement dans la table mais le probleme est qu'il ne crée meme pas la table.(dur pour comprendre ce qu'il ce passe).
A moins que la syntaxe ne soit pas bonne Exemple: Comme ca, ca marche pas Code :
Code :
Code :
si tu peux me donner la bonne syntaxe ce serais cool. De plus, pour l'autre facon de faire, il me faut absolument les 3 champs dans la table fille. Donc si je comprend bien ce que tu me dis, "ALTER TABLE" peut me servir pour créer les champs 1 et 2, si oui comment indiquer les types de valeur, les NULL et valeur par default... |
||||||
|
|
00
|
|
|
#6 |
|
Membre habitué
![]() |
que te met mysql comme erreur déjà ?
je pensais que l'erreur venait peut être d'un conflit entre creation du champ et creation de la clé etrangère mais visiblement, ce que je dis, c'est n'importe quoi. bon, je vais regarder un peu la doc pour la syntaxe l'histoire de ne pas te dire de betises. [edit] Bon,déjà, tu n'as oublié le mot clé CONSTRAINT devant foreign key... j'ai aussi toruvé un sujet qui pourrait t'interesser : http://www.developpez.net/forums/viewtopic.php?t=99177&highlight=create+table [/edit] |
|
|
00
|
|
|
#7 | ||
|
Invité de passage
![]() Inscription : septembre 2003 Messages : 9 ![]() |
l'erreur est
Code :
Un doute me viens a l'esprit : Faut il créer une relation Foreign Key dans la la table Fille ou dans la Mere? |
||
|
|
00
|
|
|
#8 | ||
|
Membre confirmé
![]() |
Essaye d'utilsé deux index au lieu d'un dans ta table fille et Nom_Table_Mere2
Code :
__________________
Olivier Miossec |
||
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : septembre 2003 Messages : 9 ![]() |
cela marche mais je ne peux pas avoir les 2 champs unique(concaténé)
exemple de donnée sur les deux champs: 0,1 0,2 1,1 2,1 2,3 etc |
|
|
00
|
|
|
#10 |
|
Membre confirmé
![]() |
Dans ce cas la il faut créer un Troisième index unique
En fait Mysql à besoin des index pour gerer les contrainte avoir le même colones dans un index genere des conflit
__________________
Olivier Miossec |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com