[mysql] contrainte foreign key
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
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
10 réponses
-
WebmasterSalut 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 ! -
A ma connaissance, MySql ne supporte pas les cles etrangeres... Vivent les jointures!!
Fat_Cartman,
Parce que je le vaux bien... -
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 ! -
Bonjour !
Je pense pouvoir confirmer l'affirmation de fat_cartman...
Chewie :) -
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 ?????!!!!!! -
WebmasterYa 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 ! -
... d'ou je lui ai spécifié la syntaxe (voir 1er post)
-
Webmasterok
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 ! -
bien sur que MySql suporte les clé etrangère verifie ton script
-
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."