Clé étrangère sous innodb
Spoutch
Messages postés
68
Statut
Membre
-
MUSLEM et fier de l'etre -
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 :)
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:
- Clé étrangère sous innodb
- Clé usb non détectée - Guide
- Clé d'activation windows 10 - Guide
- Formater clé usb - Guide
- Clé usb - Accueil - Stockage
- Clé bootable windows 10 - Guide
3 réponses
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;
ALTER TABLE 'ta_table'
ADD CONSTRAINT 'cleEtrangere' FOREIGN KEY ('Nom_de_la_clé_etrangere') REFERENCES 'table_de_cle_primaire' ('clé_primaire') ON DELETE CASCADE;
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 =)
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 =)