|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |
|
Candidat au titre de Membre du Club
![]() Inscription : novembre 2005 Messages : 78 ![]() |
Bonjour à tous,
j'ai créé deux table ( entreprise et contact) ou un contact correspond à un salarié de l'entreprise et je voudrai que lorsque je supprime une entreprise, tous les contacts liés à celle-ci soient supprimés également. Pour ce faire je veux lier les deux tables par une clé etrangère mais c'est la que ca coince. La clé étrangère relierait la raison sociale de l'entreprise avec un champ de la table contact CO_EN_raisonSociale. Mon code est le suivant: Citation:
Que faut il que je fasse. Est ce que j'ai oublié quelquechose? d'avance merci PS: je bosse avec phpMyAdmin SQL Dump version 2.6.1 |
|
|
|
00
|
|
|
#2 |
![]() ![]() Alain Ingénieur d'études décisionnel Inscription : mai 2002 Messages : 4 450 ![]() |
Si tu exécutes ton script dans l'ordre indiqué, l'erreur peut se comprendre.
Tu fais référence lors de la création de la table contacts à la table entreprise qui n'est pas encore créée
__________________
Modérateur Langage SQL N'oubliez pas le bouton et pensez aux balises [code]Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur ![]() |
|
|
00
|
|
|
#3 |
|
Candidat au titre de Membre du Club
![]() Inscription : novembre 2005 Messages : 78 ![]() |
oki
je viens de modifier mon script mais j'ai toujours la même erreur. as tu une autre idée? |
|
|
00
|
|
|
#4 | ||
|
Membre éclairé
![]() Étudiant Inscription : juillet 2006 Messages : 242 ![]() |
Bonjour,
Attention... à ce que tu fais ! Dans les clés étrangères il faut que le type du champ soit identique dans les deux tables, ce qui n'est pas le cas ici (dans ton script). Code :
__________________
La vitesse de la lumière étant supérieure à la vitesse du son, certaines personnes brillent encore tant qu'elles n'ont pas parlé ----------------------------------------------------------- Retrouvez mes articles informatique sur mon Site Developpez. Le reste, sur le Site perso ! |
||
|
|
00
|
|
|
#5 | |||||
![]() ![]() Alain Ingénieur d'études décisionnel Inscription : mai 2002 Messages : 4 450 ![]() |
Citation:
Si tu regardes tes définitions : Code :
Il faudrait écrire : Code :
__________________
Modérateur Langage SQL N'oubliez pas le bouton et pensez aux balises [code]Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur ![]() |
|||||
|
|
00
|
|
|
#6 |
|
Candidat au titre de Membre du Club
![]() Inscription : novembre 2005 Messages : 78 ![]() |
oki
je viens de faire la modification mais maintenant quand je lance mon script il me dit qu'il ne peut pas supprimer les enregistrements car ils sont liés avec une clé etrangère. Je ne me souviens plus très bien. Pour supprimer les contraintes de clé primaire et de clé étrangère c'est: ALTER TABLE contact DROP CONSTRAINT ALL; DROP TABLE IF EXIST contact; En fait je c'est que ce n'est pas ca car il me renvoi une erreur. pourriez vous me guider? |
|
|
00
|
|
|
#7 | ||
|
Membre éclairé
![]() Étudiant Inscription : juillet 2006 Messages : 242 ![]() |
Il faut supprimer dans l'ordre inverse de la création. Donc supprimer contacts avant entreprise dans ton cas.
Sinon utiliser ceci pour forcer : Code :
__________________
La vitesse de la lumière étant supérieure à la vitesse du son, certaines personnes brillent encore tant qu'elles n'ont pas parlé ----------------------------------------------------------- Retrouvez mes articles informatique sur mon Site Developpez. Le reste, sur le Site perso ! |
||
|
|
00
|
|
|
#8 |
|
Candidat au titre de Membre du Club
![]() Inscription : novembre 2005 Messages : 78 ![]() |
merci de votre aide...
ça fonctionne. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com