IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PostgreSQL Discussion :

pbm avec les foreigns keys.....


Sujet :

PostgreSQL

  1. #1
    Candidat au Club
    Inscrit en
    Juin 2004
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 3
    Points : 2
    Points
    2
    Par défaut [resolu] pbm avec les foreigns keys.....
    Bonjour a vous
    je suis un ultra debutant,la reponse sera peut etre evidente pour vous, mais je vous garantie que j ai cherché...

    Je voudrai empecher la creation d'un enregistrement dans droit_groupe si le nom_groupe n existe pas dans liste_groupe. voici mes tables:

    pour liste_groupe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    num_auto   | integer               | not null default nextval('public.liste_groupe_num_auto_seq'::text)
     nom_groupe | character varying(10) |
     login      | character varying(8)  |
    Index: liste_groupe_pkey primary key btree (num_auto)
    Foreign Key constraints: $2 FOREIGN KEY (login) REFERENCES utilisateur(login) ON UPDATE NO ACTION ON DELETE NO ACTION
    et pour droit_groupe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    num_auto    | integer               | not null default nextval('public.droit_groupe_num_auto_seq'::text)
     nom_groupe  | character varying(10) |
     nom_doc     | character varying(20) |
     lecture     | boolean               |
     ecriture    | boolean               |
     suppression | boolean               |
    Index: droit_groupe_pkey primary key btree (num_auto),
           droit_unique unique btree (nom_groupe, nom_doc)
    Voici ma commande:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alter table droit_groupe add constraint nom_groupe foreign key (nom_groupe) references liste_groupe (nom_groupe);
    et voici le message d erreur:
    NOTICE: ALTER TABLE will create implicit trigger(s) for FOREIGN KEY check(s)
    ERROR: UNIQUE constraint matching given keys for referenced table "liste_groupe" not found
    Je n arrive pas a trouver le sens de cette erreur...
    si vous pouviez m aider, merci

  2. #2
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Bonjour,

    je ne suis pas sur que ca va régler ton problème, mais essaye de ne pas donner à ta contrainte de clé étrangère le même nom qu'un de tes champs. Essaye plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alter table droit_groupe add constraint fk_nom_groupe foreign key (nom_groupe) references liste_groupe (nom_groupe);
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  3. #3
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    ...Et tant que j'y suis, t'es-tu assuré avant de créer ta contrainte que chacune de tes clé étrangères dans droit_groupe avait une correspondance dans liste_groupe ?
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  4. #4
    Candidat au Club
    Inscrit en
    Juin 2004
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 3
    Points : 2
    Points
    2
    Par défaut je vais essayer ca...
    ... demain (je suis plus au boulot ) et je te tiens au courant, mais nil me semble bien avoir fait attentio a ce qu il y ait une correspondance entre les cles.
    Merci

  5. #5
    Candidat au Club
    Inscrit en
    Juin 2004
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    J ai resolu le probleme en creant une table supplemantaire groupe où je donne le nom des groupes seulement, et c est dans cette table que je vérifie si un groupe existe avant de lui donner ses droits...
    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Désactivation de toutes les Foreign Key pointant sur une table.
    Par sybaris dans le forum Développement
    Réponses: 3
    Dernier message: 29/06/2008, 21h57
  2. Réponses: 1
    Dernier message: 19/07/2007, 15h53
  3. probléme dans les foreign key
    Par infomari dans le forum Langage SQL
    Réponses: 1
    Dernier message: 01/07/2007, 16h44
  4. mysql et les foreign key
    Par soad dans le forum Installation
    Réponses: 12
    Dernier message: 17/08/2006, 10h40
  5. Pbm avec les '&'...
    Par AmaX dans le forum Composants VCL
    Réponses: 2
    Dernier message: 19/08/2002, 12h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo