Clé étrangère sous innodb

Spoutch Messages postés 68 Statut Membre -  
 MUSLEM et fier de l'etre -
Rebonjour,

j'ai déjà posé ma question, mais mon sujet est marquer comme résolue et impossible de le remêtre en "non résolue" T-T
c'est assez urgent et je tourne en rond:
le code sql que je connait pour metre une clé étrangère dans une table est le suivant:

alter table MEDIUM
foreign key (IDEVEN)
references EVENEMENT on delete restrict;


sauf que sa marche pas avec une table innodb, j'ai donc trouver se code pour sa:

ALTER TABLE yourtablename
ADD [CONSTRAINT symbol] FOREIGN KEY [id] (index_col_name, ...)
REFERENCES tbl_name (index_col_name, ...)
[ON DELETE {CASCADE | SET NULL | NO ACTION | RESTRICT}]
[ON UPDATE {CASCADE | SET NULL | NO ACTION | RESTRICT}]


se qui me semble lsi aprocher le plus, c'est un truk comme sa:

ALTER TABLE MEDIUM
ADD CONSTRAINT "????" FOREIGN KEY IDEVEN
REFERENCES EVENEMENT
ON DELETE {CASCADE}
[ON UPDATE {CASCADE}

mais c'est quoi se $ù*$ù* de symbol pour la CONSTRAINT?
et que fait SET NULL, NO ACTION et RETRICT????

je peut metre nimporte quoi a constraint, il bloque a la references:

1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'REFERENCES traveauperso
ON DELETE {CASCADE}
ON UPDATE {CASCADE}' at line 3

(je présise que les index son bien déja crée)

merki d'avence :)
A voir également:

3 réponses

MUSLEM et fier de l'etre
 
voila la requette exacte qui va modifier ta table, toi tu trompe seulement dans ta requette tu doit preciser le champs de reference pour la clé etrangere

ALTER TABLE 'ta_table'
ADD CONSTRAINT 'cleEtrangere' FOREIGN KEY ('Nom_de_la_clé_etrangere') REFERENCES 'table_de_cle_primaire' ('clé_primaire') ON DELETE CASCADE;
1
Spoutch Messages postés 68 Statut Membre 8
 
bon, ba je me répond a moi même au cas ou sa interesse quelqu'un un jour:

set null place la valeur NULL dans le champ de la clé étrangère lors de la supréssion de la mêre,
no action, sa fait rien,
et retrict enpêche toute modification impliquant un raport entre la table mêre et fille. voilaaaaa!

merci quand même =)
0
minoucha
 
merci sapouch, :)
0