Probleme d'ajout de clé étrangère

mikeind Messages postés 13 Statut Membre -  
Archi-dessin Messages postés 281 Date d'inscription   Statut Membre Dernière intervention   -
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

  1. sandul Messages postés 4013 Statut Membre 723
     
    Salut,

    departement_id est bien une colonne dans chacune des deux tables?
    0
    1. mikeind Messages postés 13 Statut Membre
       
      est-ce ke le champ departemen_id doit etre osi dans la table employee comme un attribut
      0
      1. MrSlave Messages postés 2657 Statut Membre 147 > mikeind Messages postés 13 Statut Membre
         
        Oui.

        Tu vas créer une relation entre 2 champs donc si l'un des 2 n'existe pas, ça ne pourra pas fonctionner.
        0
      2. mikeind Messages postés 13 Statut Membre > MrSlave Messages postés 2657 Statut Membre
         
        se ki signifie ke departement_id doit etre e dans la table employee et departement osi
        0
  2. MrSlave Messages postés 2657 Statut Membre 147
     
    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é ?
    0
    1. mikeind Messages postés 13 Statut Membre
       
      lorsque je fais une description sur la table departement departemen_id est bien la
      0
    2. MrSlave Messages postés 2657 Statut Membre 147 > mikeind Messages postés 13 Statut Membre
       
      Il te faut ce champ sur les 2 tables.
      0
    3. cchristian Messages postés 928 Statut Membre 131 > mikeind Messages postés 13 Statut Membre
       
      Bonjour,

      departemen_id avec ou sans T ??????
      0
    4. mikeind Messages postés 13 Statut Membre > cchristian Messages postés 928 Statut Membre
       
      sorry avec un t a la fin
      0
    5. MrSlave Messages postés 2657 Statut Membre 147 > mikeind Messages postés 13 Statut Membre
       
      Ecris le de la même manière dans les 2 tables et dans ta séquence. ;)
      0
  3. cchristian Messages postés 928 Statut Membre 131
     
    La clé primaire de la table "departement" est-elle composée de plus d'une colonne ?
    0
    1. MrSlave Messages postés 2657 Statut Membre 147
       
      Pas bête, je n'avais pas pensé à ça. ^^
      0
      1. cchristian Messages postés 928 Statut Membre 131 > MrSlave Messages postés 2657 Statut Membre
         
        Bonjour,

        Je n'ai pas (trop) de mérite j'étais hier encore sur ce problème (doc. IBM SQL/DB2).
        0
    2. mikeind Messages postés 13 Statut Membre
       
      non
      0
  4. cchristian Messages postés 928 Statut Membre 131
     
    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;
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Archi-dessin Messages postés 281 Date d'inscription   Statut Membre Dernière intervention   25
     
    salut,
    utiliser l'instruction alter pour créer le champ dans son propre colonne et sa taille puis modifier le
    0