Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème de clé étrangère

date

Sujet résolu
    10 décembre 2011 à 19:15:58

    Bonjour, j'ai un petit soucis, je ne suis pas un expert en la matière, mais ce que je dois faire ne fonctionne pas.


    CREATE TABLE Repas(
    date date REFERENCES menu(date),
    invité text REFERENCES préférence(personne),
    PRIMARY KEY (date, invité)
    );
    
    NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "repas_pkey" for table "repas"
    ERROR:  there is no unique constraint matching given keys for referenced table "menu"
    


    invités=> \d
    List of relations
    Schema | Name | Type | Owner
    --------+------------+-------+---------
    public | menu | table | quentin
    public | préférence | table | quentin
    (2 rows)



    invités=> SELECT * FROM menu;
    date | plat
    ------------+------------
    1997-05-01 | crêpes
    2003-07-05 | pot au feu
    2006-08-02 | sanglier
    2002-06-05 | poulet
    2003-05-26 | foie
    (5 rows)


    invités=> SELECT * FROM préférence;
    personne | platpréféré
    ------------+-------------
    Marie | poulet
    Alice | pot au feu
    Martin | sanglier
    Luc | foie
    Léa | pâtes
    Céline | poulet
    Christophe | crêpes
    David | veau orloff
    (8 rows)

    Quelqu'un peut-il m'aider pour mon erreur ? Il semble que cela vienne de date, mais je ne sais pas comment faire. Merci
    • Partager sur Facebook
    • Partager sur Twitter
      10 décembre 2011 à 20:00:23

      L'erreur est : La colonne "date" de la table "menu" n'est pas unique.

      Est-ce que cette table a une clé primaire ?
      • Partager sur Facebook
      • Partager sur Twitter
        10 décembre 2011 à 22:10:09

        Date/plat est la clé primaire de menu.
        Personne celle de préférence.

        Que faire dans ce cas ?
        EDIT:
        Je crois qu'il n'y avait pas de clé étrangère en fait... désolé
        • Partager sur Facebook
        • Partager sur Twitter

        Problème de clé étrangère

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown