Probleme d'ajout de clé étrangère

Bonjour,
je suis debutante en mysql et g 1 probleme avec l'ajout d'une cle etrangere dans une de mes tables. En faite g une table employee et une autre departement, le probleme c'est ke je veux ajouter la cle primaire de la table departement dans la table employee comme cle etrangere et g utilise la syntaxe suivante:
ALTER TABLE employee ADD FOREIGN KEY (departement_id) REFERENCES departement(departement_id);
et la reponse est ke departement_id n'existe pas dans la table. Alors si vous pouvez me donner une reponse osi rapide ça me soulagera bcp et c'est tres urgent. Please.............
Configuration: Windows XP
Internet Explorer 6.0

5 réponses

  • Votes
  • Date
  • Date décroissante
  1. Salut,

    departement_id est bien une colonne dans chacune des deux tables?
    1. est-ce ke le champ departemen_id doit etre osi dans la table employee comme un attribut
    2. @mikeindOui.

      Tu vas créer une relation entre 2 champs donc si l'un des 2 n'existe pas, ça ne pourra pas fonctionner.
    3. @MrSlavese ki signifie ke departement_id doit etre e dans la table employee et departement osi
  2. Bah si il te dit qu'elle n'existe pas, c'est que ça doit être vrai. ^^
    Tes champs sont bien orthographiés ?
    Le champ département_id est bien renseigné ?
    1. lorsque je fais une description sur la table departement departemen_id est bien la
    2. @mikeindBonjour,

      departemen_id avec ou sans T ??????
    3. @mikeindEcris le de la même manière dans les 2 tables et dans ta séquence. ;)
  3. La clé primaire de la table "departement" est-elle composée de plus d'une colonne ?
    1. Pas bête, je n'avais pas pensé à ça. ^^
    2. @MrSlaveBonjour,

      Je n'ai pas (trop) de mérite j'étais hier encore sur ce problème (doc. IBM SQL/DB2).
    3. non
  4. Bonsoir,

    Je pense que tu dois d'abord créer la colonne "departement_id" dans la table "employee" et ensuite définir une foreign key sur cette colonne.

    P.S. 20h20mn.

    J'ai fait rapidement un test en SQL/DB2, ce cas de figure (technique) fonctionne je me suis raccroché à un existant)

    ALTER  TABLE                    ARTICLES
    	ADD             POSTE0         	DECIMAL (5)     	    ;
    ALTER  TABLE                    ARTICLES
           ADD              NOCDE0        	CHAR    (8)     			       ;
    
    ALTER   TABLE ARTICLES     
       ADD   CONSTRAINT aaaa FOREIGN KEY (NOCDE0, POSTE0)
                        REFERENCES POSTES (NOCDE, POSTE)   ON DELETE NO ACTION;
    1. salut,
      utiliser l'instruction alter pour créer le champ dans son propre colonne et sa taille puis modifier le