[mysql] contrainte foreign key

guyom -  
blackbutterfly Messages postés 100 Statut Membre -
salut,

je voudrai juste savoir si mysql supporte les contrainte de clé étrangère car lorsque j'execute une commande de creation de table contenant ce type de contrainte j'ai le message :
Something is wrong in your syntax près de 'REFERENCE `agence`(`agenceId`))'

y'a t'il une erreur de syntaxe???
merci a +
guyom
A voir également:

10 réponses

asevere Messages postés 13521 Statut Webmaster 426
 
Salut tous !

Ama connaissance Mysql ne tiens pas compte des clés etrangeres, cependant leurs utilisation dans les requetes de creations de tables ne devrait pas gener mysql (pour une question de compatibilitée avec les autres sgbd en cas de migration) donc s'il te dit qu'il y a un pb , c'est surment une erreur de syntaxe.

Bilan:
-tu peux declarer les foreign keys dans l'optique d'une migrations.
-elles ne te servirons a rien tant que tu sera sous mysql.

ps: je peux me tromper je ne sais pas ou ils en sont mais au pire le changement serait qu'elle servent aussi sous mysql donc c'est certainement une erreur de syntaxe.

@++


Na kaer eo va Breizh,
gand ar mor glaz èn-dro dezi !
4
Utilisateur anonyme
 
A ma connaissance, MySql ne supporte pas les cles etrangeres... Vivent les jointures!!

Fat_Cartman,
Parce que je le vaux bien... 
2
bibi
 
ca dépend man,...

cest koé ta version de MySQL?

sinon vire déja ces " ' " merdik et fait plutot comme ceci
----------------------------------------------------
FOREIGN KEY (FK_agence_Id) REFERENCES agence(PK_agence_Id)
----------------------------------------------------

Good luck mec !
0
tesniced
 
les " ' " permet de protéger les champs !!!
0
Chewie
 
Bonjour !

Je pense pouvoir confirmer l'affirmation de fat_cartman...

Chewie :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bibi
 
pffffff !!!!!


cé bien pour ca ke je lui demande kel version de mysql !!!!!!!!

il faut kil utilise le format InnoDB
voir -> http://dev.nexen.net/news/gen.php3/2002/08/07/917,0,1,0,0.html

pigetti les gars ?????!!!!!!
0
asevere Messages postés 13521 Statut Webmaster 426
 
Ya pas de soucis,

Je disais juste que quelque soit sa version, c'est une erreur de syntaxe puisque les foreign keys sont prensentes pour la compatibilité depuis bien longtemps...

Na kaer eo va Breizh,
gand ar mor glaz èn-dro dezi !
0
bibi
 
... d'ou je lui ai spécifié la syntaxe (voir 1er post)
0
asevere Messages postés 13521 Statut Webmaster 426
 
ok

ceci dit le "ca dependant" prete a confusion...

je l'ai compris comme ca...
=> si t as une vieillee version c normale
sinon c'est ue erreur de syntaxe

Na kaer eo va Breizh,
gand ar mor glaz èn-dro dezi !
0
basile
 
bien sur que MySql suporte les clé etrangère verifie ton script
0
blackbutterfly Messages postés 100 Statut Membre 1
 
pour faire passer une clef étrangère sur mysql il faut d'abord déclarer la column que tu veux mettre en foreign et après tu fait la ligne de commande comme l'exemple te montre :

create table troll (
id_troll int(10) auto_increment,
primary key(id_troll));

create table lolol (
id_lol int(10) auto_increment,
rickroll varchar(100) not null,
id_troll int(10),
primary key (id_lol),
constraint id_Troll_fkey foreign key (id_troll) references troll (id_troll));

Et là ça devrais tourner ;)
"Le hasard n'existe pas, tout est inéluctable."
0
blackbutterfly Messages postés 100 Statut Membre 1
 
Cela résous ton problème ?
0